我在jQuery中用autplay编写了一个简单的Slider。 如果启用了自动播放,则设置指向函数的setTimeout。 然后,此函数对其自身具有递归setTimeout。 一切正常,除了Chrome。 在我更换了标签后,等待一段时间然后返回,滑块就吓坏了。 看起来有多个超时活动实例……但是由于我将超时指定给同一个变量,所以情况并非如此。 一些相关代码: var timer; function autoplay() { currentPosition++; if(currentPosition == numberOfSlides) { // last slide currentPosition = 0; } manageNavigation(currentPosition); // Hide / show controls manageControls(currentPosition); // animate the slides slideshowAnimate(); // set timer if(autoplay_enable) { //clearTimeout(timer); timer = setTimeout(function() { autoplay() }, interval*1000) } } function setTimer() { if(autoplay_enable) […]
我已经在iPhone我的网络应用程序中实现了标准的jQuery自动增长/扩展textarea插件。 除了两个问题(下面列出)之外,它工作正常。 首先,请允许我强调,我已经尝试使用Google搜索并尝试了不同的教程,并得出结论,这是最符合我需求的。 问题1.延迟textarea onKeyUp的扩展。 怎么样? 在keyup上调用函数expand: $(this).keyup(update); 由于我正在使用CSS3动画(-webkit-transition)来为扩展设置动画,并且因为网站/“app”是为iPhone构建的,所以我需要将此操作延迟500毫秒,以便输入不会因此而滞后。 我在代码的不同部分尝试了不同的解决方案,如setTimeOut,甚至延迟等,但它不起作用。 期。 问题2:文本区域上的填充使其随机扩展并且应该增加两倍。 padding:10px 10px; 这是一个众所周知的问题 – 我知道,但到目前为止,似乎知道一个人已经找到了如何妥善处理它。 删除填充使一切正常。 在没有建议我使用另一个插件或只是删除填充的情况下,如何更改代码以使其与填充一起使用? JS代码处理扩展: (function($) { /* * Auto-growing textareas; technique ripped from Facebook */ $.fn.autogrow = function(options) { this.filter(‘textarea’).each(function() { var $this = $(this), minHeight = $this.height(), lineHeight = $this.css(‘lineHeight’); var shadow = $(”).css({ position: ‘absolute’, top: -10000, […]
我已经将tooltip用于 几秒后它会hide() 如果我将它鼠标hover在触发器后面 这是第一次不会出现 只有在我第二次将鼠标移到它上面之后才会出现 我使用onShow事件进行绑定并使用了window.setTimeOut 这是工具提示或jquery中的问题吗? 像这样的东西: $(document).ready(function() { x = $(“button”).tooltip({ api: true, position: “center right”, onShow: function() { var hid = function() { x.getTip().hide(); }; window.setTimeout(hid, 2000); }}); x.show(); }); 演示
我知道这个问题已被多次询问,但我无法让我的下拉菜单与我到目前为止的工作。 如果我设置延迟显示菜单,没有setTimeout菜单工作正常,则会出现问题。 有人可以看看并建议解决方案吗? 我也在尝试它在IE6中工作。 以下是setTimeout的完整示例: http : //jsbin.com/owoyon/1/ (有问题,无法正常工作,下拉卡住,无法识别延迟) 这是一个没有setTimeout http://jsbin.com/isamay/1/的工作版本 这是一个代码副本: body {margin:60px; font-family: sans-serif; font-size:12px;} ul,ul ul {margin:0;padding:0;} ul li { position:relative; list-style-type: none; padding:5px 0; margin:0 10px; cursor:pointer; border-bottom:1px solid #ddd; display:inline-block; float:left; } .submenu { background:#eee; display:none; position:absolute; width:200px; top:25px; left:0; margin-left:-5px; } .hover { display:block !important; } Option 1 Lorem […]
我尝试创建一个子菜单: 延迟1秒后再次隐藏用户友好性(意外失去焦点) 淡出,所以它很明显 在重新进入时停止褪色并逐渐消失 我介绍了使用hoverIntent。 它现在正在使用以下代码(jQuery的版本应该是最新的,否则fadeIn不起作用): $(文件)。就绪(函数(){ function showMenu() { $(“#speciesSubmenu”).stop(true,false).fadeIn(500).show(); } function hideMenu() { $(“#speciesSubmenu”).fadeOut(1000,0); } $(“#menuItemSoorten”).hoverIntent({ over: showMenu, timeout: 800, out: hideMenu }); }); http://jsfiddle.net/johannesklapwijk/p8PDW/15/
对于在css中定义为display:none的元素,我试图运行一个函数,该函数尝试使用.show()显示元素,代码如下: CSS .element { position: absolute; display: none; left: 0; top: 0; } HTML Some content here Some content here jQuery的 var c = $(‘.element’); c.each(function () { c.css({ ‘left’: dleft + ‘px’ }); c.css({ ‘top’: dtop + ‘px’ }); c.setTimeout(function () { c.show(1000); }, sduration); 所有变量都已填充,我通过提醒他们所有变量并给出了默认值,但不知何故,元素在超时后没有显示。
当用户按下按钮移动到下一个图像时,我正在处理图像上的一些转换。 当彼此相邻的多个图像非常窄时,这些图像将同时转换。 因此,我检查图像上的宽度,并将薄的数据添加到数组中,然后对数组中的每个对象运行转换。 我想在数组中每个图像的动画之间创建一点延迟,所以我试图在1秒超时后运行我的jQuery.animate。 以下是我试图让超时工作失败的方法: 1。 for (i=0; i < set.length; i++) { if (i != 0) { setTimeout(function() { set[i].transitionOut($('#gallery'), 562) }, 100); } else { set[i].transitionOut( $('#gallery'), 562 ); } } 2。 for (i=0; i < set.length; i++) { if (i != 0) { function tempTransition() { set[i].transitionOut( $('#gallery'), 562 ); } setTimeout(tempTransition, […]
这是代码: var stripeAnimation = function() { var streetDivWidth = $(‘.street_name’).width(); var streetFull = $(‘.street_name .street_name_text’); for(var i=0; i<streetFull.length; i++) { var item = $(streetFull[i]); var widthFull = item.width(); var remainder = widthFull – streetDivWidth; var animationSpeed = widthFull * 5; var summary = streetDivWidth – widthFull; if(summary < 0) { item.children('.gradient_span').addClass('gradient'); infinite(); setTimeout(infinite, 1000); } […]
我正在努力找出为什么setTimeout函数在尝试运行时找不到我的单选按钮标记function。 这是我的代码…… var radioButtonTagging = (function(){ console.log(‘run’); $(“span.radio”).each(function(i, ele){ $(ele).addClass(‘radio’+i); }); $(“.radio1”).click(function(){ console.log(‘fired’); $(‘#expandQuestion1’).css(‘display’,’block’); }); }); if($(‘span.radio’).length){ console.log(‘run’); radioButtonTagging(); } else { console.log(‘trying to run timer’); setTimeout(“radioButtonTagging()”,2000); } http://pastebin.com/nvacxZGS 我基本上只是寻找带有类无线电的跨度,并添加另一个带有无线电加上索引的类。 我之所以使用setInterval是因为当它第一次尝试触发时,因为它们是通过jquery插入的,因此没有到位。所以在doc.ready期间没有完成。 任何帮助都会很棒
我有一个工作正常的下拉菜单,但我希望如此,如果我将鼠标hover在菜单上,它不会立即再次隐藏。 所以基本上我想要一秒钟的延迟。 我读过有关setTimeout的内容,但不确定它是否是我需要的? $(‘#mainnav a’).bind(‘mouseover’, function() { $(this).parents(‘li’).children(‘ul’).show(); }); $(‘#mainnav a’).bind(‘mouseout’, function() { $(this).parents(‘li’).children(‘ul’).hide(); });