我正在使用http://jqueryui.com/slider/#steps中的这个jQuery UI滑块 这是一个简单的滑块,有3个步骤(1,2和3)和一个显示图片的div元素(“id_1”)。所以我现在真正想要的是图片根据滑块的位置而变化。所以在位置“1”它显示一张图片,一旦我将滑块移动到位置2或3,这张图片就会改变。我该怎么做?
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>jQuery UI Slider - Snap to increments</title>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.2/themes/smoothness/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.2/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css" />
<script>
$(function () {
$("#slider").slider({
value: 100,
min: 1,
max: 3,
step: 1,
slide: function (event, ui) {
$("#amount").val("$" + ui.value);
}
});
$("#amount").val("$" + $("#slider").slider("value"));
});
</script>
</head>
<body>
<p>
<label for="amount">Donation amount ($50 increments):</label>
<input type="text" id="amount" style="border: 0; color: #f6931f; font-weight: bold;" />
</p>
<div id="slider"></div>
<div id="id_1" class="class_1"></div>
</body>
</html>
提前致谢!
答案 0 :(得分:0)
您只需要查看滑块的值,然后显示相应的图像。尝试这样的事情:
slide: function (event, ui) {
if (ui.value == 1) {
$("#id_1")).attr("src", "image1.png");
} else if (ui.value == 2) {
$("#id_1")).attr("src", "image2.png");
} else if (ui.value == 3) {
$("#id_1")).attr("src", "image3.png");
}
}
然后将id_1 div设为img标记:
<img id="id_1" class="class_1"></div>
答案 1 :(得分:0)
你的意思是this(这是一个小提琴)。
我创建了一个数组,用于保存您需要的图像,如下所示
var images = [
"http://cvcl.mit.edu/hybrid/cat2.jpg",
"http://www.helpinghomelesscats.com/images/cat1.jpg",
"http://oddanimals.com/images/lime-cat.jpg"
]; // replace these links with the ones pointing to your images
然后,滑块移动
slide: function (event, ui) {
$("#amount").val("$" + ui.value);
$("#id_1").html("<img src=\"" + images[ui.value-1] + "\" />"); // subtracting 1 as the arrays first index is 0
}
通过在页面加载
时加载数组的第一个图像来完成它 $("#id_1").html("<img src=\"" + images[0] + "\" />"); // Load the first image on page load
答案 2 :(得分:0)
您只能在幻灯片事件中执行此操作。
<script>
$(function () {
$("#slider").slider({
value: 100,
min: 1,
max: 3,
step: 1,
slide: function (event, ui) {
$("#amount").val("$" + ui.value);
if(ui.value == 1)
{
$('#imgSource').attr('src','1.png');
}
else if(ui.value == 2)
{
$('#imgSource').attr('src','2.png');
}
}
});
$("#amount").val("$" + $("#slider").slider("value"));
});
</script>