我为Physics JS构建了一个创作工具:
绝对:
https://googledrive.com/host/0B8yu2s4Q9YD8OG00WElPQllYTW8/Home.htm
该工具已通过鼠标悬停和鼠标输出实现了颜色交换 对图像按钮的影响。
代码:
$('input#b1').bind('mouseover', function() {
$('input#b1').attr("src", "images/Begin_hover.png");
});
$('input#b1').bind('mouseout', function() {
$('input#b1').attr("src", "images/Begin.png");
这在当地非常有效。但是,在Google云端硬盘上 需要一些时间。
解决方案是什么?
GitHub的:
答案 0 :(得分:0)
这对你的代码来说不是一个问题,就像你对图像的缓存(或缺乏图像)一样 -
缓存控制: private,max-age = 20
日期: Sun,05 Jan 2014 09:34:29 GMT
到期: Sun,05 Jan 2014 09:34:29 GMT
最后修改时间:星期六,2014年1月4日10:16:26 GMT
位置:/主机/ 0B8yu2s4Q9YD8OG00WElPQllYTW8 /图像/
服务器:GSE
状态: 304未修改
max-age属性以秒为单位,过期值告诉浏览器不将其缓存。
因此,浏览器会在每次鼠标悬停和鼠标移动时进行“条件GET”,以查看图像是否已更改。对于我来说,在合理的固定线路连接上需要301ms - 移动网络的延迟会更高。
设置远期到期(绝对最小值为一小时)以避免重复获取图像的需要。
您使用的是哪个版本的jQuery?自jQuery 1.7以来,.on()一直是绑定事件的首选方法 - 您还可以通过将DOM元素存储为变量来避免重复查找,从而使代码更加高效。
var $beginButton = $('input#b1');
$beginButton.on('mouseover', function() {
$(this).attr("src", "images/Begin_hover.png");
});
$beginButton.on('mouseout', function() {
$(this).attr("src", "images/Begin.png");