Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript fadeToggle与text()错误?_Javascript_Jquery - Fatal编程技术网

Javascript fadeToggle与text()错误?

Javascript fadeToggle与text()错误?,javascript,jquery,Javascript,Jquery,我正试图对jQuery产生一种fadeToggle效果, 只有在第二次单击标记时,切换效果才能正常工作。 在第一个窗口中,单击它会立即显示并隐藏 注意,如果我删除文本(“你好”)方法并将其放在段落标记中,它会工作得很好 想知道为什么第一种方式不起作用。 这是我的HTML代码: 标题 $(文档).ready(函数(){ $('h1')。单击(函数(){ $('p').text(“你好”).fadeToggle(500); }); }); 你好,jquery fadeToggle的工作方式与例

我正试图对jQuery产生一种
fadeToggle
效果, 只有在第二次单击
标记时,切换效果才能正常工作。 在第一个窗口中,单击它会立即显示并隐藏

注意,如果我删除
文本(“你好”)
方法并将其放在段落标记中,它会工作得很好

想知道为什么第一种方式不起作用。 这是我的HTML代码:


标题
$(文档).ready(函数(){
$('h1')。单击(函数(){
$('p').text(“你好”).fadeToggle(500);
});
});
你好,jquery


fadeToggle
的工作方式与例如
切换
(应用相反属性)的工作方式相同。由于
p
元素在开始时的默认状态是
display:inline
(可见),因此下一个默认操作将隐藏它。这就是为什么最初必须将其定义为隐藏

$(文档).ready(函数(){
$('h1')。单击(函数(){
$('.x').text(“你好”).fadeToggle(500);
});
});

你好,jquery

fadeToggle
的工作方式与例如
切换
(应用相反属性)的工作方式相同。由于
p
元素在开始时的默认状态是
display:inline
(可见),因此下一个默认操作将隐藏它。这就是为什么最初必须将其定义为隐藏

$(文档).ready(函数(){
$('h1')。单击(函数(){
$('.x').text(“你好”).fadeToggle(500);
});
});

你好,jquery

它实际上工作正常-显示段落元素,通过单击标题,函数在其中插入文本,然后切换淡入淡出。当元素显示时,默认情况下(因为没有附加任何规则来隐藏它),fadeToggle将从显示状态转换为隐藏状态


如上所述,要使fadeToggle从淡入元素开始,您应该首先隐藏元素(根据需要,通过CSS或JS)。

它实际上工作正常-显示段落元素,通过单击标题,函数在其中插入文本,然后切换淡入。当元素显示时,默认情况下(因为没有附加任何规则来隐藏它),fadeToggle将从显示状态转换为隐藏状态


如上所述,要使fadeToggle从淡入元素开始,您应该首先隐藏元素(根据您的需要,通过CSS或JS)。

JS在初始化fadeToggle之前在段落元素中动态插入文本。所以段落是可见的,但并没有文本,并没有背景,也并没有高度(因为它并没有内容)。这就是为什么它看起来肉眼看不见,即使它是可见的。如果您通过CSS添加高度(如100px)和背景(如红色),您将能够看到该元素。因此,你有一个看似“肉眼看不见”的段落,在插入内容后(用它,也给它高度),它变得可见(用肉眼)。但是,就浏览器而言,它始终可见。由于fadeToggle决定可见性(如浏览器是否认为元素可见),它会看到元素可见,因此,在第一次单击时,它会淡出。您看到文本在淡出之前突然出现的唯一原因正是因为您是通过JS插入文本的。您的JS在初始化淡出切换之前在段落元素中动态插入文本。所以段落是可见的,但并没有文本,并没有背景,也并没有高度(因为它并没有内容)。这就是为什么它看起来肉眼看不见,即使它是可见的。如果您通过CSS添加高度(如100px)和背景(如红色),您将能够看到该元素。因此,你有一个看似“肉眼看不见”的段落,在插入内容后(用它,也给它高度),它变得可见(用肉眼)。但是,就浏览器而言,它始终可见。由于fadeToggle决定可见性(如浏览器是否认为元素可见),它会看到元素可见,因此,在第一次单击时,它会淡出。您看到文本在淡出之前突然出现的唯一原因就是您通过JS插入文本。