jQuery点击链接setInterval

问题描述:

我试图让两个文本链接转到两个不同的URL,并且文本从一个文本更改为另一个文本每7secs。jQuery点击链接setInterval

我已经尝试添加点击事件,但无法让它正常工作。

jQuery的:

$(document).ready(function() { 
    setInterval(function() { 
$('#rollover').fadeOut(500, function() { 
    var $this = $(this); 
    var textOne = "Join our facebook group"; 
    var textTwo = "Join our LinkedIn group connect Scientists today"; 
    $this.text($this.text() == textOne ? textTwo : textOne); 
    $this.fadeIn(500); 
}); 
}, 7000); 

}); 

HTML:

<p id="rollover">Join our LinkedIn group connect Scientists today</p> 
+0

是淡入/淡出按预期工作? – gaurav 2013-02-28 16:37:22

+0

这似乎工作正常,在这里检查http://jsfiddle.net/athd6/ – Derek 2013-02-28 16:37:54

+0

是的,它的工作也是我的目的。 – gaurav 2013-02-28 16:40:51

你的意思是这样的: http://jsfiddle.net/rfpSL/1/

在变化<p><a>并添加:

 var linkOne = "http://url-one.com"; 
     var linkTwo = "http://url-two.com"; 

     $this.attr('href', $this.attr('href') == linkOne ? linkTwo : linkOne); 
+0

谢谢Serj你在钱上!干杯 – 2013-02-28 16:46:53

我相信你的问题是在这条线:

$this.text($this.text() == textOne ? textTwo : textOne); 

首先,我建议重命名$本自我,以防万一在那里发生冲突。

self.text(self.text() == textOne ? textTwo : textOne); 

第三,这实际上工作正常......如评论中显示的小提琴。

http://jsfiddle.net/athd6/

+0

感谢基督徒,它正在工作,但我试图做的是有“textOne”链接到一个URL和“textTwo”链接到不同的网址。 – 2013-02-28 16:41:48

尝试下

$this.html($this.text() == textOne ? textTwo : textOne); 

<script type="text/javascript"> 
$(document).ready(function() 
{ 
     change(); 
}); 


function change(){ 
    setTimeout(function() { 
     $('#rollover').fadeOut(500, function() { 
      var $this = $(this); 
      var textOne = "Join our facebook group"; 
      var textTwo = "Join our LinkedIn group connect Scientists today"; 
      $this.text($this.text() == textOne ? textTwo : textOne); 
      $this.fadeIn(500); 
      change(); 
     }); 
     }, 7000); 
} 
</script> 

在这里你去

var textOne = "Join our facebook group"; 
var textTwo = "Join our LinkedIn group connect Scientists today"; 
var isRotated=true; 
var rotateText=function(){ 
    setInterval(function(){   
     var text=isRotated?textOne:textTwo; 
      $("#rollover").text(text);  
     isRotated=!isRotated; 
    }, 7000); 
}; 

rotateText(); 

http://jsfiddle.net/UQk5h/1/