jQuery滑块作为时间轴
我刚刚完成了一个带有jQuery Slider的jQuery手风琴。 即
显示3张照片。 用户可以使用PREV
或NEXT
按钮查看下一个/上一个3图像。 他们还可以使用滑块浏览所有图像。
下一步是使此滑块看起来像时间轴。 左侧需要从1970年开始并在2010年结束。对于每个项目(在这种情况下,项目是一组3个图像)我需要它在时间线上显示日期。
即:
我知道我可以创建一个图像,其中日期与正确的宽度相隔但理想情况下这需要是动态的,因此可以放入更多项目并且时间线自我更新。
在较高的水平,以下应该工作:
- 获取滑块UI元素的总宽度(以像素为单位)。
- 将此数字除以
[total number of labels] - 1
即可获得分配给每个标签的总像素数。 - 在滑块div后面添加一系列div,其中包含您在步骤2中获得的宽度和
float:left
样式。 - 用一个空的div跟随一切
clear: both
风格。
这是一个基本的例子:
CSS
.timeline { width: 500px; border: 1px solid black; } .timelineEntry { float: left; } .first { position: relative; left: 5px; } .last { position: relative; left: -10px; } .clear { clear: both; }
标记
Slider UI Goes Here
JavaScript的
var container = document.getElementById("timelineContainer"); var labels = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"]; var totalWidth = $("#slider").width(); var labelWidth = Math.floor(totalWidth / (labels.length - 1)); for (var index = 0; index < labels.length; index++) { var nextLabel = document.createElement("div"); nextLabel.className = "timelineEntry"; if (index == 0) { nextLabel.className += " first"; } else if (index == labels.length - 1) { nextLabel.className += " last"; } nextLabel.style.width = labelWidth + "px"; nextLabel.innerHTML = labels[index]; container.appendChild(nextLabel); }
- 在jQuery Mobile中禁用来自另一个select的select
- 拖放问题jquery
- 如何根据在另一个文本框中输入的值更新一个文本框中的值?
- JQuery鼠标hoverfunction多次触发
- jQuery Animation error =尝试在已清除的范围上运行compile-and-go脚本
- 使用jQuery解析无效的HTML,而不添加到DOM?
- 如何在不破坏儿童可resize的情况下销毁可resize的jquery?
- 如果设置了jQuery,如何更改:-moz-placeholder颜色?
- PhoneGap Cordova 3.1.0 inAppBrowser EventListener无法正常工作