为什么这个简单的jQuery不起作用?
问题描述:
我想给用户发送到无论是谷歌或雅虎,这取决于链接他们点击,如果他们点击一日一他们将被带到谷歌,如果他们点击seond他们将被带到雅虎。为什么这个简单的jQuery不起作用?
所以对于window.location的功能,我使用了一个名为网站的变量,我根据其链接的用户点击确定。但它不起作用。该变量是不被认可:这样做的
<script type="text/javascript">
$(document).ready(function(){
// define the variable website based on which link is clicked
$('a').eq(0).click(function() {
var website = 'http://google.com';
});
$('a').eq(1).click(function() {
var website = 'http://yahoo.com';
});
$('a').click(function() {
window.location = website;
});
});
</script>
<a href="#">Link 1</a>
<br />
<a href="#">Link 2</a>
答
<script type="text/javascript">
var _website = null;
$(document).ready(function()
{
$('a').eq(0).click(function()
{
_website = 'http://google.com';
Navigate();
});
$('a').eq(1).click(function()
{
_website = 'http://yahoo.com';
Navigate();
});
});
function Navigate()
{
document.location = _website;
}
</script>
<a id="link1" href="#">Link 1</a>
<br />
<a id="link2" href="#">Link 2</a>
答
更多更好的办法 -
<script type="text/javascript">
$(document).ready(function(){
var website = '';
$('a').click(function() {
var clicked = $(this).index('a');
switch(clicked){
case 0:
website = "http://google.com";
break;
case 1:
website = "http://rediff.com";
break;
}
document.location= website;
});
});
</script>
<a href="#">Link 1</a>
<br />
<a href="#">Link 2</a>
答
<a id="link1" href="http://google.com">Link 1</a>
<br />
<a id="link2" href="http://yahoo.com">Link 2</a>
宣布它的点击代表外之后,它现在正在recorgnozed但脚本将停止执行检测到第一次点击后。换句话说,它不会回到window.location函数。只需在上述链接点击功能之一后停止。所以这个变量问题就解决了,但是我怎么让脚本继续执行window.location函数。很难解释,但你会看到我的意思,如果你运行它。 – Dan 2010-10-03 03:53:04
@丹 - 是的,我正在运行它给你一个完整的答案。 – 2010-10-03 03:54:38
我应该解释的那样,2个链接和去雅虎或谷歌是不是真的什么,我想才达到,我只是用这个例子来说明我所需要的,这是将一个函数的变量里面,那根据哪个索引链接被点击来定义变量。我需要特定的方法来专门工作。我知道,上面的例子可以像您发布的方式一样以更简单的方式实现,但我需要通过哪个链接被点击的方式定义的索引/变量/变量。 – Dan 2010-10-03 04:03:51