0

我想让我的文本在单击菜单链接时淡入。因此,当我单击“主页”时,我想淡入该文本,但它不起作用。我的代码有什么问题?

jQuery(function ($) {
$('a#homeactiv').click(function(){
  $(this).find('p#paragraph').fadeIn(slow);
});
{
});

这是我的 html、css、jquery 的一部分:http: //jsfiddle.net/35qwb/2/

4

5 回答 5

3

许多事情,包括但不限于:

  • 在 ID 选择器前面加上一个元素。总是做:$('#foo')NOT $('a#foo')
  • 一个错字(一个额外的{)。
  • 出于某种原因额外的美元符号。
  • 不加引号'slow'

这应该有效:

jQuery(function() {
    $('#homeactiv').click(function(){
        $('#paragraph').fadeIn('slow'); 
    });
});

基本上,在要求人们修复您的代码之前,您需要学习 jQuery。您应该首先阅读许多初学者教程

于 2011-10-24T14:12:09.147 回答
0

摆脱查找,这不是 jQuery 应该运行的方式。此外,除非您有一个名为 slow 的变量,否则不要将 slow 传递给函数,它应该是字符串或数字。

$("#paragraph").fadeIn("slow");

如果你只是这样做,$("#paragraph").fadeIn(slow)jQuery 会寻找一个被调用的变量slow并将它传递给fadeIn 方法。由于没有调用变量slow,它将传递 0,这意味着该方法应在 0 毫秒内运行,并立即显示。

于 2011-10-24T14:12:00.980 回答
0

我相信您的代码中有语法错误,请尝试

$(document).ready(function() {
    $('a#homeactiv').click(function() {
        $('#paragraph').fadeIn('slow');
    });
});

此外,$(this).find('p#paragraph')只会发现p#paragraph是 的后代a#homeactiv。切换到一个简单的查询——$('#paragraph')

于 2011-10-24T14:12:28.567 回答
0

您的代码中有很多错误(正如其他答案所指出的那样)。下面的代码说明了实现目标的正确方法。

HTML

<p id="paragraph">
    This is example text <br />
    This is example text <br />
    This is example text <br />
    This is example text <br />
</p>

<button id="homeactiv">Click Me</button>

JavaScript

jQuery(function($) {
    $('#homeactiv').click(function() {
        $('#paragraph').fadeIn("slow");
    });
});

这是一个工作小提琴

于 2011-10-24T14:14:46.023 回答
0

尝试这个:

id 是 unic,她不需要再设置它们了。

$('#homeactiv').click(function(){ 
    $("#paragraph").fadeIn('slow'); 
});
于 2011-10-24T14:13:06.680 回答