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.