此处将为大家介绍关于javascript–如何在jQuerymouseout上应用原始样式的详细内容,此外,我们还将为您介绍关于javascriptmouseover、mouseout停止事件冒泡的解
此处将为大家介绍关于javascript – 如何在jQuery mouseout上应用原始样式的详细内容,此外,我们还将为您介绍关于javascript mouseover、mouseout停止事件冒泡的解决方案_javascript技巧、javascript – iPad上的jQuery mouseout、javascript – Jquery / ajax循环SetTimeout、javascript – jQuery mouseenter / mouseleave html() – 交换问题的有用信息。
本文目录一览:- javascript – 如何在jQuery mouseout上应用原始样式
- javascript mouseover、mouseout停止事件冒泡的解决方案_javascript技巧
- javascript – iPad上的jQuery mouseout
- javascript – Jquery / ajax循环SetTimeout
- javascript – jQuery mouseenter / mouseleave html() – 交换问题
javascript – 如何在jQuery mouseout上应用原始样式
我在背景图像上应用了淡出效果.如何在mouSEOut上慢慢应用原始样式?
jsfiddle:http://jsfiddle.net/KevinOrin/H6Q3J/
jQuery('.square-section').mouSEOver(function(){
jQuery(this).fadeto('slow',0.3, function(){
jQuery(this).css('background-image', 'url(' + $img + ')');
}).fadeto('slow',1);
});
解决方法:
你没有在第一个地方使用$img变量..所以第一个不需要回调函数.
如果要完全更改图像,则回调函数可能在此处有帮助.
jQuery('.square-section').hover(function(){
jQuery(this).fadeto('slow',0.3);
}, function() {
jQuery(this).fadeto('slow',1);
});
Check Fiddle
如果要交换2个不同的图像,可以尝试这种方法
jQuery('.square-section').hover(function(){
jQuery(this).fadeto('slow', 0.3, function() {
jQuery('.square', this).removeClass('square-chess').addClass('square-chart');
jQuery(this).fadeto('fast', 1);
});
}, function() {
jQuery(this).fadeto('fast', 0.3, function() {
jQuery('.square', this).removeClass('square-chart').addClass('square-chess');
jQuery(this).fadeto('fast', 1);
});
});
Fiddle with 2 images
jQuery('.square-section').hover(function () {
jQuery('.square', this).removeClass('square-chess').addClass('square-chart');
}, function () {
jQuery('.square', this).removeClass('square-chart').addClass('square-chess');
});
javascript mouseover、mouseout停止事件冒泡的解决方案_javascript技巧
在IE里有onmouseleave和onmouseenter, 而对于要兼容各大浏览器的Web开发人员来说还是一件头疼的事。
虽然网上已经有针对Mozilla Firefox的一些计策,但代码量也是不容乐观的。
想寻求比较好的解决方案,于是就翻遍了国内的大小网站,终一无所获,不得不硬着头皮去读国外网站,结果是理想的,因为W3C里有relatedTarget,于是就有了下边的解决方案:
function isMouseLeaveOrEnter(e, handler) {
if (e.type != ''mouseout'' && e.type != ''mouseover'') return false;
var reltg = e.relatedTarget ? e.relatedTarget : e.type == ''mouseout'' ? e.toElement : e.fromElement;
while (reltg && reltg != handler)
reltg = reltg.parentNode;
return (reltg != handler);
}
在onmouseover和onmouseout里做如上判断。
作者:lxsgoodluck
javascript – iPad上的jQuery mouseout
$("span#checkBox_err").mouSEOut(function () { $("span#checkBox_err").fadeOut("slow"); });
但同样不会在iPad上触发(因此checkBox_err显示在屏幕上,但从不隐藏)
如何在iPad上触发mouSEOut事件?
另外,我想避免使用任何额外的库来解决这个小问题.
我有一个关注的问题
我正在iPad上测试一个页面,我正面临一些实现鼠标操作行为的问题.
所以问题很容易理解; 1.在我的页面上,点击(或者说触摸)有一个复选框,我想显示一个errorMsg 2.点击/触摸除errorMsg以外的任何内容,我想隐藏errorMsg
以下是我写的代码;
$(document).bind("touchstart",function(e){ if(e.target.id != "checkBox_err") $("span#checkBox_err").fadeOut("slow"); }); } $("input:checkBox").bind("touchstart",function(){ $("span#checkBox_err").fadeIn("fast"); });
现在问题是当我单击/触摸复选框时,errorMsg显示一段时间然后它也立即隐藏它(因为目标不是errorMsg)
我该如何解决这个问题?
解决方法
javascript – Jquery / ajax循环SetTimeout
嗨,我被困在我的setTimeout函数上.我想要做的是循环我的setTimeout为我的检索对话功能..我在setInterval上尝试了这个但是使用setInterval是我的应用程序的坏消息,这就是为什么我切换到setTimeout ..但我似乎无法弄清楚如何使setTimeout在完成加载后再次工作..这是我到目前为止所尝试的并且仍然试图让它在此刻工作..
使用Javascript:
id = setTimeout(function()
{
$.ajax(
{
url: "includes/handlechat.PHP",
type: "GET",
data: data,
dataType: 'json',
success: function(result)
{
$("#clog").empty();
$.each(result, function(rowKey, row)
{
$("#clog")
.append('<p ><h4>'+ row.username +':</h4>' + row.message_content + '</p>' );
});
},
complete: function ()
{
clearTimeout(id);
}
})
}, 1101);
有什么提示或建议吗?
解决方法:
将代码放在函数中并在成功或完整处理程序中调用它:
function load() {
setTimeout(function () {
$.ajax({
url: "includes/handlechat.PHP",
type: "GET",
data: data,
dataType: 'json',
success: function (result) {
$("#clog").empty();
$.each(result, function (rowKey, row) {
$("#clog").append('<p ><h4>' + row.username + ':</h4>' + row.message_content + '</p>');
});
},
complete: load
});
}, 1101);
}
load();
您还可以使用IIFE来避免在当前环境中创建另一个绑定:
(function load() {
// setTimeout here
}());
javascript – jQuery mouseenter / mouseleave html() – 交换问题
我有以下Javascript / jQuery函数:
function addEventHandler(){
$("div").mouseenter(function() {
$(this).html("Over");
}).mouseleave(function() {
$(this).html("Out");
});
}
它有效但不完美. div有时会略微重叠(不要问),并且如下图所示,它们并不总是得到“Out”值.特别是当我将指针快速移动到它们上面时会发生这种情况.
任何想法如何确保每个div在mouseleave上获得“Out”值?谢谢!
更新:真正的代码摘录
由于我的实际功能不像上面的例子那么简单,我在这里包含了真实函数的确切代码:
function addEventHandlers(){
var originalContent = "";
$(".countryspots div").mouseenter(function() {
var thisClass = $(this).attr("class");
var thisCountry = thisClass.split(" ");
var thisNumber = getNumber(thisCountry[1]);
originalContent = $(this).children("a").html();
$(this).children("a").html("<span>" + thisNumber + "</span>");
}).mouseleave(function() {
$(this).children("a").html(originalContent);
});
}
我的HTML标记是这样的:
<div>
<div><a href="#"><span>Brazil</span></a></div>
<div><a href="#"><span>Argentina</span></a></div>
<div><a href="#"><span>Ireland</span></a></div>
<divhttps://www.jb51.cc/tag/gal/" target="_blank">gal"><a href="#"><span>Portugal</span></a></div>
</div>
一般的想法是内部最多的国家名称< span>与一个代表在mouseenter上的员工的数字交换(从getNumber();中检索) – 然后在mouseleave上交换回来.
真正的问题是,当我将指针移动到另一个div时,许多div保留了他们的员工编号.换句话说:mouseleave事件不会在所有div上执行.
实例:http://jsfiddle.net/N9YAu/4/
希望这可以帮助.再次感谢!
解决方法:
您的问题是,对于一个只有一个变量来存储所有项目的“原始内容”,并且mouseenter处理程序也可以在mouseleave处理程序之前第二次调用,从而导致值“原始内容”变量被覆盖悬停内容.
您应该在脚本开头存储一次原始内容,并为每个项目分别存储它们.我在使用jQuery的数据函数:http://jsfiddle.net/N9YAu/5/的followign示例中完成了这个
注意,我用一个悬停绑定替换了你单独的mouseenter / mouseleave绑定.它最终可能是相同的,但这是“正确的方法”.
今天关于javascript – 如何在jQuery mouseout上应用原始样式的讲解已经结束,谢谢您的阅读,如果想了解更多关于javascript mouseover、mouseout停止事件冒泡的解决方案_javascript技巧、javascript – iPad上的jQuery mouseout、javascript – Jquery / ajax循环SetTimeout、javascript – jQuery mouseenter / mouseleave html() – 交换问题的相关知识,请在本站搜索。
本文标签: