如何在jquery中多次更改文本?

时间:2012-12-31 07:04:11

标签: jquery

我刚刚进入jquery而且我很喜欢它。

目前,我正在尝试创建以下看似简单的场景:文本显示在屏幕上,每次点击主要内容时,文本都会淡入淡出到另一组文本

现在,当它从一个文本转换到另一个文本时,我已经能够将其关闭,但由于某种原因,我无法在其中链接任何其他内容。任何提示都会非常感激!

这是HTML:

<div id="mainContent">
    <h3 id="bodyText">This is the original text</h>
</div>

这是剧本:

$(document).ready(function() {
    $('#mainContent').click(function () {
        $('#bodyText').fadeOut(function () {
            $(this).text("This is the new text!").fadeIn();
        });
    });
});

*编辑:

也许“链”不是正确的术语 - 我只是试图允许用户通过点击在屏幕上更改一定次数的文本(几乎就像在powerpoint中的基本幻灯片中的幻灯片之间导航)在主要内容区域。感谢您到目前为止的所有答案和建议,我正在弄清楚如何实施您的解决方案。

3 个答案:

答案 0 :(得分:0)

在这种情况下,您需要阅读有关事件冒泡的信息,点击事件不会让DOM树泡下来。您必须使用.live()代替。但是在最新版本的jQuery .live() has been deprecated中,您必须使用.on()事件。至于重复这个问题,你必须通过这个循环,这可以通过.each()

实现。

答案 1 :(得分:0)

您只需单击添加淡出效果,然后使用$ .ajax从PHP页面获取不同的文本并将其显示为淡入效果。

答案 2 :(得分:0)

这可能对您有所帮助

$('#mainContent').unbind('click'); Or you can have livequery() instead.

............................

$(document).ready(function() {
    $('#mainContent').click(function () {
        $('#bodyText').fadeOut(function () {
            $(this).text("This is the new text!").fadeIn();
            $('#mainContent').unbind('click');
            // Or what ever binding you want to add.
        });
    });
});