【发布时间】:2014-12-05 17:00:50
【问题描述】:
我有一个进度条,指示页面的滚动进度。因此,如果我将页面向下滚动一半,进度条宽度将设置为 50%,因此它会根据我在页面上的位置不断变化。
(function(){
var $w = $(window);
var $prog = $('.progress-bar');
var wh, h, sHeight;
function setSizes(){
wh = $w.height();
h = $('#page-content-wrapper').height();
sHeight = h - wh;
}
setSizes();
$w.on('scroll', function(){
var perc = Math.max(0, Math.min(1, $w.scrollTop()/sHeight));
updateProgress(perc);
}).on('resize', function(){
setSizes();
$w.trigger('scroll');
});
function updateProgress(perc){
$prog.css({width : perc*100 + '%'});
}
}());
我想做的是附加一个元素以直观地指示相对于进度条的书签位置。因此,假设我想在单击书签按钮/链接时在进度条下方添加一个星号 (*)。
为此,我需要一种使用当前进度条宽度的方法,并使用它来设置附加元素的位置,虽然我不确定如何在附加上下文中应用它。
$('#bookmark').on("click", function() {
$(".progress-bar").append("<div style='position:absolute; left:xxxx%'>*</div>");
});
谢谢
【问题讨论】:
标签: javascript jquery css cookies