我有一个非常奇怪的问题。 我正在使用jQuery 1.7.1和UI 1.8.17作为滑块。
它在Chrome,Safari和FF上的效果就像魅力一样(只要你没有躲避萤火虫......)。 到目前为止很好,但是!
它不适用于IE(使用IE 8和9进行测试)。但是,只要打开IE开发人员工具,滑块就可以工作!
我绝对不知道如何解决这个问题......所以希望你们中的任何人都可以帮助我!
我的JS代码:
$(document).ready(function(){
$("#content-slider").slider({
animate: true,
value: 0,
slide: handleSliderSlide,
change:handleSliderChange
});
var c = parseInt($(".content-item").length);
var isiPad = navigator.userAgent.match(/iPad/i) != null;
//var w = eval((376 * c) + 1);
if ($.browser.msie && parseInt($.browser.version)==9 || isiPad) {
var w = parseInt(eval(376.5 * c));
}
else {
var w = eval(376.5 * c);
}
var s = $(window).width();
$("#content-scroll").attr('style', 'width:'+s+'px;');
$("#content-holder").attr('style','width:'+w+'px;');
if(isiPad){
$("#content-slider").attr('style', 'width:'+eval(s - 49)+'px;margin-left:3px;');
}
else if($.browser.msie) {
switch (parseInt($.browser.version)) {
case 9:
$("#content-slider").attr('style', 'width:'+eval(s - 49)+'px;margin-left:2px;');
break;
case 8:
$("#content-slider").attr('style', 'width:'+eval(s - 49)+'px;margin-left:2px;');
break;
case 7:
$("#content-slider").attr('style', 'width:'+eval(s - 49)+'px;margin-left:2px;');
break;
}
}
else if ($.browser.safari) {
$("#content-slider").attr('style', 'width:'+eval(s - 48)+'px;margin-left:3px;');
}
else{
$("#content-slider").attr('style', 'width:'+eval(s - 49)+'px;margin-left:2px;');
//$("#content-slider").attr('style', 'width:'+eval(s - 49)+'px;margin-left:2px;');
}
$("a.fancybox").fancybox();
$('#lnkproject').addClass('current');
$('#lnkproject').click(function(){
console.log('lnkproject.click');
$('#lnkproject').addClass('current');
$('#lnkskills').removeClass('current');
$('#lnkcontact').removeClass('current');
$("#content-slider").slider({
animate: true,
value: 0,
slide: handleSliderSlide,
change: handleSliderChange
});
});
$('#lnkskills a').click(function(){
console.log('lnkskills.click');
$('#lnkproject').removeClass('current');
$('#lnkcontact').removeClass('current');
$('#lnkskills').addClass('current');
scval = parseInt(($("#content-holder").width() - $("#content-scroll").width()) / 100);
$("#content-slider").slider({
animate: true,
value: eval(scval + 1),
slide: handleSliderSlide,
change: handleSliderChange
});
});
$('#lnkcontact').click(function(){
console.log('lnkcontact.click');
$('#lnkproject').removeClass('current');
$('#lnkskills').removeClass('current');
$('#lnkcontact').addClass('current');
$("#content-slider").slider({
animate: true,
value: 100,
slide: handleSliderSlide,
change: handleSliderChange
});
});
$("#fp_prev_thumb").click(function() {
console.log('fp_prev_thumb.click');
var slideval = parseInt($('#content-slider').slider("option", "value"));
$("#content-slider").slider({
animate: true,
value: slideval - 10,
slide: handleSliderSlide,
change: handleSliderChange
});
});
$("#fp_next_thumb").click(function() {
console.log('fp_next_thumb.click');
var slideval = parseInt($('#content-slider').slider("value"));
$("#content-slider").slider({
animate: true,
value: (slideval + 10),
slide: handleSliderSlide,
change: handleSliderChange
});
});
function handleSliderChange(e, ui){
console.log('handleSliderChange');
var maxScroll = $("#content-holder").width() - $("#content-scroll").width();
$("#content-scroll").animate({scrollLeft: ui.value * (maxScroll / 100) }, 200);
}
function handleSliderSlide(e, ui)
{
console.log('handleSliderSlide');
var maxScroll = $("#content-holder").width() - $("#content-scroll").width();
$("#content-scroll").animate({scrollLeft: ui.value * (maxScroll / 100) }, 20);
}});
答案 0 :(得分:6)
摆脱你的console.log电话。当开发工具未打开时,IE会对它们进行扼杀。