jQuery可点击链接与setInterval

时间:2013-02-28 16:30:18

标签: jquery

我尝试使用两个文本链接转到两个不同的网址,文本每7个文本从一个文本更改为另一个文本。

我尝试过添加点击事件,但无法正常使用。

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>

5 个答案:

答案 0 :(得分:0)

我相信你的问题就在这一行:

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

首先,我建议将$ this重命名为self,以防万一在那里发生某种冲突。

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

第三,这实际上工作得很好......如评论中显示的小提琴所示。

http://jsfiddle.net/athd6/

答案 1 :(得分:0)

<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>

答案 2 :(得分:0)

你去吧

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/

答案 3 :(得分:-1)

尝试下一步

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

答案 4 :(得分:-1)

你的意思是这样的: 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);