jquery ui:ajax页面+滑块内容(第2部分)
|
跟进我之前发表的这篇文章。我已经找到了所有问题的答案。但是我还有一个很小的tweek,我无法正确解决-
那是我需要将其传递到滑块的百分比值-
var percentage = Math.round(offset.left / (scrollContent.width() - scrollPane.width()) * 100);
scrollbar.slider(\"value\",percentage);
每当我向右移动滑块手柄时,百分比都应增加。加载前两个ajax页面(百分比增加)很好,但是在前两个ajax页面之后,百分比开始下降直到负值。
如何找到正确的百分比?
您可以在这里尝试一下,看看上面我的意思。
以下是完整的jquery代码:
$(document).ready(function(){
loadSlide ();
});
function loadSlide ()
{
//scrollpane parts
scrollPane = $(\'#scroll-pane\'); // scroll-pane
scrollContent = $(\'#scroll-content\'); // scroll-content
//alert(scrollContent.width());
scrollbar = $(\"#content-slider\").slider({
min: 0,
create: loadContent,
animate: true,
change: handleSliderChange,
slide: handleSliderSlide
});
}
function handleSliderChange(event, ui)
{
var maxScroll = scrollContent.width() - scrollPane.width();
scrollPane.animate({scrollLeft: ui.value * (maxScroll / 100) }, 1000);
}
function handleSliderSlide(event, ui)
{
var maxScroll = scrollContent.width() - scrollPane.width();
scrollPane.attr({scrollLeft: ui.value * (maxScroll / 100) });
}
function loadContent(event, ui)
{
$(\'.load-content\').click(function(){
var path = $(this).attr(\'href\');
var parent = $(this).parents(\'.content-item\');
parent.after(\'<div class=\"wrapper\"></div>\');
var target = $(\'.wrapper\').css({float:\'left\'});
target.load(path, function(){
var width_loaded_content = target.width();
var offset = target.offset();
var position = target.position();
scrollContent.css({width: (scrollContent.width() + width_loaded_content) + \'px\'});
var percentage = Math.round(offset.left / (scrollContent.width() - scrollPane.width()) * 100);
alert(percentage);
scrollbar.slider(\"value\",percentage);
exitContent (target);
});
return false;
});
}
function exitContent (target)
{
$(\'.exit-content\').click(function(){
scrollbar.slider(\"value\",0);
scrollContent.css({width: (1500) + \'px\'});
target.remove();
return false;
});
}
另一个问题是,乳清有时会在ajax页面加载后发出两次警报,但有时却不会?它应该始终提醒一次。
任何的想法?
没有找到相关结果
已邀请:
0 个回复