自定义滑块-如何自动遍历每个滑块
Custom Slider - How To Automatically Go Through Each Slider
我是Javascript的新手,最近构建了以下滑块:http://cpointweb.com/dtv/(如果您将鼠标悬停在蓝色框上,左侧的内容会发生变化)
这是代码:
function changeSlider(header, html, img) {
var rightHtml = '<h2>' + header + '</h2><p>' + html + '</p>';
var slider = '<img src="' + img + '" />';
$('.right').fadeOut('fast', function(){
$(this).html(rightHtml).fadeIn('slow');
});
$('.slider-image').fadeOut('fast', function(){
$(this).html(slider).fadeIn('slow');
});
}
$('#1').mouseover(function() {
changeSlider("Dossani Turnage & Van Hoose Thanks You!", "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum</p><p>Testing Another Line","img/slider-one.jpg");
});
$('#2').mouseover(function() {
changeSlider("With Dossani, Turnage & Van Hoose...", "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum</p><p>Testing Another Line","img/slider-two.jpg");;
});
$('#3').mouseover(function() {
changeSlider("With Dossani, Turnage & Van Hoose...", "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum</p><p>Testing Another Line","img/slider-three.jpg");
});
$('#4').mouseover(function() {
changeSlider("With Dossani, Turnage & Van Hoose...", "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum</p><p>Testing Another Line","img/slider-four.jpg");
});
$('#5').mouseover(function() {
changeSlider("With Dossani, Turnage & Van Hoose...", "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum</p><p>Testing Another Line","img/slider-five.jpg");
});
$('#6').mouseover(function() {
changeSlider("With Dossani, Turnage & Van Hoose...", "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum</p><p>Testing Another Line","img/slider-6.jpg");
});
有没有可能用我当前的代码来遍历其中的每一个?我知道WindowTimers.setInterval(),但不确定如何用当前代码执行它。
如有任何帮助,我们将不胜感激。
谢谢!!
将头、html和img字符串放在一个数组中。
var dataArray = [["header", "html", "img"], ["header2", "html2", "img2"]];
设置时间变量和计数器
var loopTime = 2000;
var count = 0;
然后使用setTimeout调用一个递增计数器的函数,然后调用changeSlider函数。
$(function(){
Loop();
});
function Loop(){
changeSlider(dataArray[count][0], dataArray[count][1], dataArray[count][2]);
count++;
if(count >= dataArray.length) count = 0;
setTimeout(Loop, loopTime);
}
function changeSlider(header, html, img) {
var rightHtml = '<h2>' + header + '</h2><p>' + html + '</p>';
var slider = '<img src="' + img + '" />';
$('.right').fadeOut('fast', function(){
$(this).html(rightHtml).fadeIn('slow');
});
$('.slider-image').fadeOut('fast', function(){
$(this).html(slider).fadeIn('slow');
});
}
更新;
如果你要在你的蓝框上放一个数据id属性,那么当你调用鼠标悬停时,你可以用它来索引数组
<img id="1" data-id="0"/>
$('#1').mouseover(function() {
var id = parseInt($(this).data("id"));
changeSlider(dataArray[id][0], dataArray[id][1], dataArray[id][2]);
}
更新:
我制作了一个JSFiddle,展示了这个循环在这里的工作情况->JSFiddle
这样?
var dataArray = ["header", "html", "img"];
var loopTime = 2000;
var count = 0;
function changeSlider(header, html, img) {
var rightHtml = '<h2>' + header + '</h2><p>' + html + '</p>';
var slider = '<img src="' + img + '" />';
$('.right').fadeOut('fast', function(){
$(this).html(rightHtml).fadeIn('slow');
});
$('.slider-image').fadeOut('fast', function(){
$(this).html(slider).fadeIn('slow');
});
$(function(){
SetTimeout(Loop, loopTime);
});
function Loop(){
changeSlider(dataArray[count][0], dataArray[count][1], dataArray[count][2]);
count++;
if(count >= dataArray.length) count = 0;
setTimeout(Loop, loopTime);
}
}
$('#1').mouseover(function() {
changeSlider("Dossani Turnage & Van Hoose Thanks You!", "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum</p><p>Testing Another Line","img/slider-one.jpg");
});
$('#2').mouseover(function() {
changeSlider("With Dossani, Turnage & Van Hoose...", "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum</p><p>Testing Another Line","img/slider-two.jpg");;
});
$('#3').mouseover(function() {
changeSlider("With Dossani, Turnage & Van Hoose...", "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum</p><p>Testing Another Line","img/slider-three.jpg");
});
$('#4').mouseover(function() {
changeSlider("With Dossani, Turnage & Van Hoose...", "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum</p><p>Testing Another Line","img/slider-four.jpg");
});
$('#5').mouseover(function() {
changeSlider("With Dossani, Turnage & Van Hoose...", "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum</p><p>Testing Another Line","img/slider-five.jpg");
});
$('#6').mouseover(function() {
changeSlider("With Dossani, Turnage & Van Hoose...", "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum</p><p>Testing Another Line","img/slider-6.jpg");
});
相关文章:
- Dojo不解析自定义小部件的模板html中的小部件声明性
- 在自定义mean.io包中使用angular-chart.js作为依赖项
- jQuery自定义验证比较多个输入的序列
- 循环遍历以数组为值的Javascript对象
- 从HTTPGET返回一个自定义对象列表,以便在Angular 2应用程序中使用
- 使用Yadda和Protractor重用步骤定义,遍历所需文件
- 遍历SC.ManyArrray以创建要附加到SproutCore中的另一个视图的自定义视图
- 自定义滑块-如何自动遍历每个滑块
- 循环遍历输入数组以设置值,“无法设置未定义的属性值”
- 尝试遍历我的 json 时,我变得未定义
- Angularjs ,a 在 foreach 中是未定义的,用类循环遍历元素
- 循环遍历对象数组返回“未定义”
- 遍历嵌套的json并将其自定义为一个新的json
- JSON遍历对象和访问数据导致无法读取未定义的属性
- 遍历由字符串定义的$scope
- 如何遍历javascript对象中定义的函数
- 数组中.当循环遍历对象时,Filter未定义
- Javascript,在一个遍历树分支的自调用回避函数中,如何记录每个分支级别
- JavaScript's for每个循环决定跳过或遍历“s”;未定义的“;以及“;空”;数组中的元素
- 如何测试 jQuery 遍历/选择器到缺少的 DOM 元素 - 未定义