我遇到一个问题,我必须在不更改HTML的情况下对网站进行换肤。
因此,我不得不用JS做一些我通常不会做的事情。我要做的部分是将“默认”图像移动到新位置。这适用于所有浏览器,包括IE7,EXCEPT IE8。想法?
$(".carouselThumbWrap.carouselSelected").animate({ marginTop: hoverYPos }, 1);
HTML看起来像这样:
<li assetUrl="art.png" class="carouselThumbWrap carouselSelected" assetType="image">blah</li>
我唯一能想到的是我们有种族情况。 carouselSelected由某个小部件或其他小部件分配,我无法更改,并且在document.ready
函数运行时不得出现。想法?我错过了什么吗?
答案 0 :(得分:2)
原来这是比赛情况,这解决了它:
$($(".carouselThumbWrap")[0]).addClass("carouselSelected");
答案 1 :(得分:0)
$(".carouselThumbWrap").each(function() {
if(this.hasClass("carouselSelected")) this.animate({ marginTop: hoverYPos }, 1);
});
绕过它?
答案 2 :(得分:0)
如果结果是时间问题,您可以使用Live Query插件来解决问题。
答案 3 :(得分:0)
你可以尝试
$("li.carouselThumbWrap.carouselSelected").animate({ marginTop: hoverYPos }, 1);
它应该是相同的,但如果它是一个错误,即它可能有帮助。
答案 4 :(得分:0)
如果其他一些JS功能也在旋转木马上,你可以用你自己的一个来覆盖有问题的功能。然后在新的覆盖函数中,调用原始函数并添加自己的逻辑来修复所有内容。
someWidget.badFunction = function()
{
//mess up carousel so julie can get her work done
}
var originalBadFunction = someWidget.badFunction;
somewidget.badFunction = function()
{
originalBadFunction();
//put your code that fixes everything and makes the world right again here
}