gpt4 book ai didi

jQuery翻译+切换,如何链接两者?

转载 作者:行者123 更新时间:2023-12-01 03:57:00 25 4
gpt4 key购买 nike

我目前正在编写一个 jQuery 脚本,该脚本将把网站的文本翻译成外语。我正在为此使用 Google Translate API。我希望该页面包含一个显示 En Espanol 的链接,当用户单击 En Espanol 时,页面正文会被翻译成西类牙语,但该链接除外,该链接显示 In English - 当用户单击该链接时,页面正文将恢复为英文。下面的代码是我到目前为止所拥有的。任何帮助将不胜感激。谢谢。

JQuery:

$(document).ready(function(){
// hide all blocks that have class hide
//$('.hide').hide();
// toggle link1 with container1
// using chaining for performance and ease
// changing html of link
$('.showhide').toggle(function(){
//$(this).parent().next().slideDown('slow').removeClass('hide').preventDefault;
$(this).html('English');
},function(){
//$(this).parent().next().slideUp('slow').addClass('hide').preventDefault;
$(this).html('En Espanol');
})

});

HTML:

<p><a id="link1" class="showhide" href="#container1" onclick="translate('es');">
En Espanol</a></p>
<!--Calls Google Translate via div -->
<div id="translation"></div>
<div id="article">
<p>Google Inc is set to introduce on Tuesday a new Web browser designed to handle text
and graphics.</p>
</div>

最佳答案

这应该可以帮助您入门。但是,这里存在一些您需要解决的问题。例如,这不一定会翻译页面上的所有文本,只是 <p>里面的元素 <div id="article"> 。您可以将选择器替换为您自己的高级选择器,该选择器涵盖了您需要它涵盖的所有内容。

我对您的原始代码进行了一些更改:

  • 您不需要 onclick链接中的事件 – 我们可以在 toggle 中轻松执行我们需要的操作jQuery 中的函数。
  • <div id="translation">部分是不必要的(我假设您只是从 API 复制并粘贴)。
  • 确保您通过 ID 访问链接,除非您需要多个链接来翻译整个页面(但情况似乎并非如此)。
<小时/>
<html>
<head>
<title>Google Translate Example</title>
<script type="text/javascript" src="includes/js/jquery.js"></script>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("language", "1");

$(document).ready(function(){
$('#link1').toggle(function(){
$('#article p').each(function(){
var element = $(this);
google.language.translate($(this).text(), 'en', 'es', function(result){
$(element).text(result.translation);
});
});
$(this).html('English');
}, function(){
$('#article p').each(function(){
var element = $(this);
google.language.translate($(this).text(), 'es', 'en', function(result){
$(element).text(result.translation);
});
});
$(this).html('En Espanol');
});
});
</script>
</head>
<body>
<p><a id="link1" href="#container1">En Espanol</a></p>
<div id="article">
<p>Google Inc is set to introduce on Tuesday a new Web browser designed to handle text
and graphics.</p>
</div>
</body>
</html>

有关详细信息,请参阅Google AJAX Language API .

关于jQuery翻译+切换,如何链接两者?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1308818/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com