DIV не создается в IE7 с помощью jQuery

Я не могу понять, почему этот сценарий не работает в IE7 и 8. Он отлично работает во всех других браузерах, но по некоторым причинам в IE7 и 8 этот скрипт только //thumbs hover бит //thumbs hover, а не //loading images бит //loading images (что на самом деле более важно). Кажется, все в порядке, есть ли у кого-нибудь идеи?

function featuredJS() { $("[title]").attr("title", function(i, title) { $(this).data("title", title).removeAttr("title"); }); // loading images var last = "featured/01.jpg"; $("#thumbs a").click(function(event) { event.preventDefault(); var position = $(this).attr("class"); var graphic = $(this).attr("href"); var title = $(this).attr("alt"); var description = $(this).data("title"); var currentMargin = $("#full-wrapper #full").css("marginLeft"); var currentWidth = $("#full-wrapper #full").css("width"); var transitionTest = currentMargin.replace("px", "") * 1; if(last != graphic && ((transitionTest % 938) == 0 || transitionTest == 0)) { $("#placeholder").before( "<div><div +="" position="" ""="">" + "<h3>" + title + "</h3>" + "<p>" + description + "</p>" + "</div></div>" ); $("#full-wrapper #full").animate({ marginLeft: "-=938px" }, 500); $("#full-wrapper #full").css("width","+=938px"); last = graphic; }; }); // thumbs hover $("#thumbs .thumb").hover( function () { $(this).find(".red-bar").animate({height:"72px"},{queue:false,duration:500}); }, function () { $(this).find(".red-bar").animate({height:"3px"},{queue:false,duration:500}); } ); };

Демо-страница по адресу http://www.weblinxinc.com/beta/welex/demo/

1 ответ

Ваша проблема вызвана тем, что для начала не задан набор margin. transitionTest затем становится NaN потому что стиль auto, а не 0px как вы ожидаете. Подумайте об этом вместо этого:

var transitionTest = parseInt("0"+currentMargin,10);

Это позволит обрезать "px" для вас, а также обработать случай, когда поле является ключевым словом.

licensed under cc by-sa 3.0 with attribution.