Jquery/Javascript - 存储字符串的最后 4 个字母(跨浏览器)
我编写了一个快速图像交换类,通过将“_grey”添加到图像 src 来切换悬停时的图像。该代码在除 ie6 之外的所有浏览器中的整个站点中都运行良好。 substr 在这里似乎无法正常工作 - 请提供任何建议!?
代码如下——
$(document).ready(function() {
var initImg;
$('img.swapGrey').hover(function() {
initImg = $(this).attr("src");
var imgType = (initImg).substr(-4);
alert(initImg);
var greyImg = initImg.slice(0, -4) + "_grey" + imgType;
alert(greyImg);
$(this).attr("src",greyImg);
}, function() {
$(this).attr("src",initImg);
});
});
I've written a quick image swap class that switches images on hover by placing adding '_grey' to the image src. The code works great throughout the site in all browsers apart from ie6. The substr doesnt seem to work properly here - any advice please!?
Code as follows -
$(document).ready(function() {
var initImg;
$('img.swapGrey').hover(function() {
initImg = $(this).attr("src");
var imgType = (initImg).substr(-4);
alert(initImg);
var greyImg = initImg.slice(0, -4) + "_grey" + imgType;
alert(greyImg);
$(this).attr("src",greyImg);
}, function() {
$(this).attr("src",initImg);
});
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
使用
slice
而不是substr
。substr
是非标准的,而slice
在 ECMAScript 3 规范中指定(包括负数位置),并且在所有主要浏览器中都受支持,包括 IE 6。Use
slice
rather thansubstr
.substr
is non-standard, whileslice
is specified (including negative positions) in the ECMAScript 3 spec, and is supported in all the major browsers, including IE 6.只需在 IE 中使用正起始位置即可。
just use a positive starting position in IE.
IE 不支持
substr
参数使用负值。IE doesn't support negative values for the argument of
substr
.尝试将代码放入
load
事件而不是ready
中:使用
load
事件的原因是当图像完全加载到页面中时与ready
事件不同。Try putting your code in
load
event rather thanready
:The reason for using
load
event is that by the time images have completely loaded into the page unlikeready
event.比需要的更详细(以显示函数的效果),但如果 test.jpg 是 img 元素的 src,则基本上将 test.jpg 更改为 test_grey.jpg。
More verbose than needs to be (to show the effect of the functions), but basically changes test.jpg to test_grey.jpg if test.jpg is the src of the img element.