- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
为什么this code无法在 IE6+7 中工作?(我的代码)
我检查了 ie 6+7 - 在检查代码在 Firefox + ie8 中工作后不起作用。
这个简单的 jquery light 插件,通过交叉淡入淡出效果切换图片。
(function( $ ){
$(document).ready(function() {
$('.sliderBox').CrossFadeSlider();
});
$.fn. CrossFadeSlider=function(options){
//default settinfs
var settings={
pagingWrapperClass: 'controls',
slideWrapperClass:'slider',
pagingWrapperElement:$('.controls'),
slideWrapperElement:$('.slider'),
slideTag: "li",
pagingTag:"li",
width:'790px',
height:'286px',
slideInterval:4000,//Timer speed in milliseconds (3 seconds)
autoplay:true
};
$.extend(settings, options);
//set slide size
this.css('width',settings.width).css('height',settings.height);
//Add Default classes or it can be dome manually in code.
settings.pagingWrapperElement.addClass(settings.pagingWrapperClass);
settings.slideWrapperElement.addClass(settings.slideWrapperClass);
//create paging
var strPaging='';
settings.slideWrapperElement.children().each(
function(i,el){
strPaging=strPaging+'<'+settings.pagingTag+'><a href="#'+$(this).attr("id")+'">'+(i+1)+'</a></'+settings.pagingTag+'>';
}
);
settings.pagingWrapperElement.append(strPaging);
//Set Default State of paging
$("."+settings.pagingWrapperClass).show();
$("."+settings.pagingWrapperClass+" "+settings.pagingTag+":first").addClass("active");
var active = $('.'+settings.pagingWrapperClass+" "+settings.pagingTag+'.active');
var activeBefore = active;
//Set Default State of slides
$("."+settings.slideWrapperClass+" "+settings.slideTag).css('display','none');
$("."+settings.slideWrapperClass+" "+settings.slideTag+":first").css('display','block');
$("."+settings.slideWrapperClass+" "+settings.slideTag).css("background-color", "transparent");
$("."+settings.slideWrapperClass+" "+settings.slideTag+" img").css("background-color", "transparent");
//Paging + Slider Function
var rotate = function(){
activeBefore.removeClass('active'); //Remove all active class
active.addClass('active'); //Add active class (the $active is declared in the rotateSwitch function)
$(activeBefore.find('a').attr('href')).fadeOut('slow',function(){
$(this).css('display','none');
});
$(active.find('a').attr('href')).fadeIn('normal',function(){
//$(this).css('display','block');
});
};
//Rotation + Timing Event
var rotateSwitch = function(){
play = setInterval(function(){ //Set timer - this will repeat itself every 3 seconds
activeBefore=$('.'+settings.pagingWrapperClass+" "+settings.pagingTag+'.active');
active = activeBefore.next();
if ( active.length === 0) { //If paging reaches the end...
active = $('.'+settings.pagingWrapperClass+" "+settings.pagingTag+':first'); //go back to first
}
rotate(); //Trigger the paging and slider function
}, settings.slideInterval); //Timer speed in milliseconds (3 seconds)
};
rotateSwitch(); //Run function on launch
//On Hover
$("."+settings.slideWrapperClass+" "+settings.slideTag).hover(function() {
clearInterval(play); //Stop the rotation
}, function() {
rotateSwitch(); //Resume rotation
});
//On Click
$("."+settings.pagingWrapperClass+" "+settings.pagingTag).click(function() {
active = $(this); //Activate the clicked paging
activeBefore=$("."+settings.pagingWrapperClass+" "+settings.pagingTag+'.active');
//not doing nothing if active button pressed.
if(active.get(0)===activeBefore.get(0)){return false;}
//Reset Timer
clearInterval(play); //Stop the rotation
rotate(); //Trigger rotation immediately
rotateSwitch(); // Resume rotation
return false; //Prevent browser jump to link anchor
});
};
})( jQuery );
最佳答案
最明显的问题是您不应该将脚本标记放入脚本框中。您将其设置为 onLoad,以便它获取文本框中的所有内容并将其放置在 onLoad 函数内。
因此,请将 jquery 的脚本标记放在 html 框中的 head 中。然后删除其他脚本标签。
我还将 document.ready 函数移至 then end 并让它在 IE7 中“工作” http://jsfiddle.net/pTcXB/ 。尽管旋转有效,但 IE 事件中的图像不会被替换。
我很确定原因在这里:
$(activeBefore.find('a').attr('href')).fadeOut('slow',function(){
$(this).css('display','none');
});
IE7 至少在 url 方面有点棘手。它可能是 jquery 特定的,但我不再编写纯 JavaScript,所以我不确定。如果你像 elem.append('') 添加一个到 dom 的链接,那么 href 将是 http://www.blablabla.bla#something 。知道你可以通过两种方式解决它。添加链接,然后通过 elem.attr('href', '#something') 设置 href,或者您可以拆分哈希并从那里构建 url。
我尝试了第二种方法并让它工作(仅通过IE9模拟器测试了IE7)http://jsfiddle.net/pTcXB/8/
关于Jquery crossfade light 插件::为什么这段代码在 IE6+7 中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5023698/
我正在尝试让它交叉淡入淡出,但我不完全确定如何做。 我怎样才能让这个 jQuery 方法交叉淡入淡出图像? $('a.thumb').click(function () { var src =
我有一个值数组 - 每个值代表将要控制的照明 channel (0-255) 的强度。每个数组都包含一个“场景”。 我想在“场景”之间进行淡入淡出,但无法找到一种优雅的方法来实现。 在 Javascr
我对幻灯片有疑问。有什么方法可以让我看到图像淡入淡出.. Here是一把 fiddle 。 function cycleImages(){ var $active = $('#cycler
我正在努力让我的淡入/淡出比现在更平滑 > JSFIDDLE 目前它在淡入淡出图像时非常锐利(因为它似乎在第二张图像开始之前先淡出第一张图像)。 JS: $(document).ready(funct
我正在尝试实现一个“淡入”脚本,该脚本会影响两个图像: $(document).ready(function(){ $('img').mouseover( function()
我有 4 张图像,我想在容器内使用 CSS 交叉淡入淡出: 我知道淡入淡出图像由 CSS 动画组成,但我一直没能找到让它工作的 CSS。任何帮助将不胜感激,
我为 android 实现了一个 BottomNavigation View ,我有一些 fragment 显示为 BottomNavigation 页面。根据Google Material Desi
我正在尝试实现与 JS setinterval/settimeout 类似的效果,但使用的是 CSS3。到目前为止,我已经达到了预期的效果,但仅限于 :hover。我怎样才能让动画每 3-4 秒运行一
我在使用 xfade 和 crossfade 时遇到问题。 我有两个视频 t1.mp4 和 t2.mp4 具有相同的 fps、分辨率等。两个视频都是 15 秒长。 现在我想要在两者之间进行一秒钟的淡入
我正在尝试制作基本的应用程序,将一张图像交叉淡入淡出到另一张图像,然后再返回。然而,当我点击第一张图片时,该应用程序一直崩溃。 crossfade 方法 fade 独立运行。自从我添加了第二种方法将图
我在使用 xfade 和 crossfade 将 12 个视频连接在一起并保留音频时遇到问题。当我忽略音频流并仅应用 xfade 过滤器时,视频编码就好了。否则,过渡会挂起,并且音频会提前开始。 这是
我需要从一组 View 交叉淡入淡出到另一组 View 。这些观点背后有时有一个背景。如果我使用 animateWithDuration: v1.alpha = 1.0, v2.alpha = 0.0
当我尝试显示来自 Gmail 帐户的图像时,我在 Glide 中遇到 cannot resolve symbol method crossFade() 错误。 private void handleS
为什么this code无法在 IE6+7 中工作?(我的代码) 我检查了 ie 6+7 - 在检查代码在 Firefox + ie8 中工作后不起作用。 这个简单的 jquery light 插件,
我正在使用 .NET Compact Framework 3.5,我想交叉淡入淡出两条音乐轨道。 它们交叉淡入淡出的时间未知,想法是一个循环,然后某些东西会触发交叉淡入淡出。 我知道 SoundPla
我有一个使用 Glide 3.5.2 的旧项目。下面的工作正常。 Glide.with(context) .load(url) .overrid
您好,我正在使用以下 CSS 进行交叉淡入淡出幻灯片放映,但问题是它在 Iternet Explorer 版本 7/8 中不起作用,可能有什么建议让它在那里工作?我试用了 Jquery 幻灯片放映脚本
我正在使用 ImageFilterView,配合 MotionScene,在用户滑动时在图像之间切换(我还将图像向上移动)。 新图像确实出现,但旧图像仍然存在。我可以在原始图像之上看到 altSrc
我是一名优秀的程序员,十分优秀!