CSS 精灵加载
CSS Sprites loading
我想用id="slider_arrow"在我的span内更改img的src属性,
<span id="slider_arrow">
<img />
</span>
每次我的 jquery 函数运行时:
$("#0").click(function () {
/*Rest of the function*/
var arrow = document.getElementById('slider_arrow');
/*I want to add different slider_arrow's sprite each time i call this function*/
});
.CSS:
.red_arrow_sprite{
width:25px;
height:12px;
background:url("/Images/arrows.png") 0 0px;
}
.yellow_arrow_sprite{
width:25px;
height:12px;
background:url("/Images/arrows.png") -26px 0px;
}
.black_arrow_sprite{
width:25px;
height:12px;
background:url("/Images/arrows.png") -51px 0px;
}
我的 CSS 精灵文件有 75px 宽度和 12px 高度。每张图片有 25px/12px。问题是:1( 我是否正确编写了 CSS 规则?
2(我需要用什么来改变跨度内img的src?
谢谢!
小提琴:http://jsfiddle.net/vtkppwuc/3/
$("#0").click(function () {
var classes = ['red_arrow_sprite','yellow_arrow_sprite','black_arrow_sprite'];
var $span = $('#slider_arrow');
$span.attr('class', (classes[($.inArray($span.attr('class'), classes)+1)%classes.length]));
});
演示:http://jsfiddle.net/vtkppwuc/6/
删除span
中的图像并使用 jQuery 将 css 类设置为 Slider,请尝试以下代码
<span id="slider_arrow" class="red_arrow_sprite">
</span>
$("#0").click(function () {
var item = $('#slider_arrow');
if (item.hasClass('red_arrow_sprite')){
item.removeClass('red_arrow_sprite').addClass('yellow_arrow_sprite');
} else if (item.hasClass('yellow_arrow_sprite')){
item.removeClass('yellow_arrow_sprite').addClass('black_arrow_sprite');
} else {
item.removeClass('black_arrow_sprite').addClass('red_arrow_sprite');
}
});
相关文章:
- 如何使用url加载程序在webpack中导入多个图像
- 如何在生成下载文件时显示加载动画
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- 无法在通过jQuery的ajax加载的页面中执行javascript
- Emberjs应用程序加载在除Index之外的所有路由上
- 在chrome.tabs.onCreated之后加载HTML页面
- 单击F5时如何停止页面加载
- 如何使用Pixijs获取在加载的精灵表资产中定义的图像
- 使用Jquery预加载精灵表
- 在Crafty.js中加载精灵时的彩色背景
- 使用画架JS加载精灵表
- CSS 精灵加载
- 从Phaser中的位图数据加载精灵表
- 在pixi v3中加载精灵表
- Javascript游戏精灵加载
- JS:加载精灵时不需要插件
- 从本地内存加载音频并播放精灵
- 预加载程序与精灵动画
- 为什么我的精灵表被多次加载
- Pixi.js精灵无法加载