Javascript 为什么.attr(';title';)会抓住前面的元素';书名
更新 Flexslider有一组回调空间可供使用,这使得这成为可能Javascript 为什么.attr(';title';)会抓住前面的元素';书名,javascript,jquery,html,flexslider,Javascript,Jquery,Html,Flexslider,更新 Flexslider有一组回调空间可供使用,这使得这成为可能 after: function(){}, //Callback: function(slider) - Fires after each slider animation completes 谢谢大家 : 我上传了现场调试代码;要想把这件事搞清楚是相当困难的 问题:函数fetchTitle()获取以前的图像标题,而不是最新的 说明:我有一个函数fallfetchTitles(),它从活动幻灯片中的标题标签
after: function(){}, //Callback: function(slider) - Fires after each slider animation completes
谢谢大家
:我上传了现场调试代码;要想把这件事搞清楚是相当困难的 问题:函数fetchTitle()获取以前的图像标题,而不是最新的 说明:我有一个函数fall
fetchTitles()
,它从活动幻灯片中的标题标签中提取标题标签,并将其放入变量targetTitle
。然后用targetTitle
脚本:(从完整脚本向下配对,请查看完整的实时代码)
HTML
<li class="flex-active-slide">
<article class="active_work" title="Facebook + Like Pillow">
<figure> <img title="Facebook + Like Pillow" src="asset/img/1600/slide1_1600.jpg" />
<figcaption class="sliderCaptions">
<h1>
<div class="animate_text"></div>
<a href="https://plus.google.com/104865624796200130935/" ><span>Author:</span> Matthew Harwood</a></h1>
</figcaption>
</figure>
<section class="article_post"></section>
</article>
</li>
添加信息:
- 如果你点击链接两次,你会看到标题会自动更新
- document ready上的fetch标题无法识别,即使存在
ready.flex活动幻灯片
- 脚本位于源代码的底部,位于
script2.js
.prop()
方法提供了一种显式检索属性值的方法,而.attr()
则检索属性
改用:
属性和属性之间的差异在特定情况下可能很重要在jQuery 1.6之前,该方法在检索某些属性时有时会考虑属性值,这可能会导致不一致的行为从jQuery 1.6开始,.prop()
方法提供了一种显式检索属性值的方法,而.attr()
则检索属性
这确实是一个时间问题。如果引入setTimeout,问题就消失了
function fetchTitles() {
setTimeout(function()
{
var targetTitle = $('.flex-active-slide').find('img').attr('title');
$('.head_line').text(targetTitle);
},200);
}
这确实是一个时间问题。如果引入setTimeout,问题就消失了
function fetchTitles() {
setTimeout(function()
{
var targetTitle = $('.flex-active-slide').find('img').attr('title');
$('.head_line').text(targetTitle);
},200);
}
在幻灯片动画完成之前,该类似乎不会更新,但只要单击,fetchTitles就会运行,因此具有“flex active slide”类的图像仍然是以前的图像
您可能希望查看在回调函数中运行fetchTitles,使其在幻灯片完成后运行。幻灯片动画完成后,类才更新,但只要单击,fetchTitles就会运行,因此具有“flex active slide”类的图像仍然是上一个图像
您可能希望在回调函数中运行fetchTitles,以便它在幻灯片完成后运行。很可能该类没有立即添加,因此它在单击事件发生时没有更新。尝试使用flexslider插件中的事件(如果存在)。从文档开始,->Advanced选项卡
对这一问题进行jsfiddle将是相当困难的
--您确实应该能够对该问题进行详细分析;我经常发现这样做有时能帮助我解决问题。这不仅仅是计时器的问题。如果等待-动画完成时,存在未设置的状态。再次单击时,标题将更改。所需的逻辑顺序是什么?在滚动下一个图像之前会调用fetchTitles(),因此找到的图像是在单击下一个图像之前处于活动状态的图像。那么,当live链接上的代码更改时会发生什么情况?如果我们看不到整个问题,我们很难帮助您,这意味着这个问题过于本地化。请确保您的问题是完整的,以便其他人帮助您调试。该类很可能没有立即添加,因此在您单击事件发生时它没有更新。尝试使用flexslider插件中的事件(如果存在)。从文档开始,->Advanced选项卡对这一问题进行jsfiddle将是相当困难的
--您确实应该能够对该问题进行详细分析;我经常发现这样做有时能帮助我解决问题。这不仅仅是计时器的问题。如果等待-动画完成时,存在未设置的状态。再次单击时,标题将更改。所需的逻辑顺序是什么?在滚动下一个图像之前会调用fetchTitles(),因此找到的图像是在单击下一个图像之前处于活动状态的图像。那么,当live链接上的代码更改时会发生什么情况?如果我们看不到整个问题,我们很难帮助您,这意味着这个问题过于本地化。请确保你的问题是完整的,以便其他人帮助你进行调试。它仍然在准确地进行调试,但很好,我将用Propach上传新代码。根据1.6.1博客文章上的表格,标题仍应使用。attr Dangit访问,你是对的,这两种方法仍然有效。不过,一把小提琴会有很大帮助。他给我们的html在图像上有一个“title”属性,所以他为什么要使用.prop?也有很好的解释。它确实仍在使用,但很好的捕获我会用propa上传新代码。根据1.6.1博客帖子上的表格,标题仍然应该用.attr Dangit访问,你是对的,这两种方法的效果仍然相同。不过,一把小提琴会有很大帮助。他给我们的html在图像上有一个“title”属性,所以他为什么要使用.prop?也有很好的解释。我确实喜欢这种方法,它比使用woothemes回调快得多。我确实喜欢这种方法,它比使用woothemes回调快得多。
function fetchTitles() {
setTimeout(function()
{
var targetTitle = $('.flex-active-slide').find('img').attr('title');
$('.head_line').text(targetTitle);
},200);
}