我需要计算视口中div的宽度。如果我在我的div上使用.css(宽度),它只计算完整的宽度。
我目前尝试计算的代码:
var $Windowwidth = $(window).width();
var $lefty = $("#gallerytop");
var $GalleryTopWidth = parseInt($lefty.css('width'));
$("#footer").click(function() {
alert($Windowwidth)
alert($GalleryTopWidth)
});
我想要完成的是:
我有一个div覆盖我的窗口的整个宽度(100%及以上)。我有2个按钮,用于为每个241px向左和向右设置div。如果我的移动div已经到达我的视口中的某个点(例如,div的右端,通过单击右键,现在位于我的视口/窗口的中间),我将能够设置停止;现在我不想再点击右键了。
有人可以帮忙吗?
谢谢!
答案 0 :(得分:1)
var $aantal = $("#gallerytop img").size() * $("#gallerytop img:first").width();
var $viewportsize = parseInt($(window).width() / $("#gallerytop img:first").width());
var $overflow = $("#gallerytop img").size() - $viewportsize;
var $clickcount = 0;
var $extrabijtellen = 0;
var $isScrolling = false;
var $extrabijtellendynamisch = $(window).width()/10;
$("#next").click(function() {
var $lefty = $("#gallerytop, #gallerybottom");
if ($clickcount < $overflow && !$isScrolling) {
$isScrolling = true;
if ($clickcount == ($overflow - 1)) {
$extrabijtellen = $extrabijtellendynamisch;
}
else {
$extrabijtellen = 0;
}
$lefty.stop().animate({
left: (parseInt($lefty.css('left'), 10) - ($("#gallerytop img:first").width() + $extrabijtellen))
}, "normal", function() { $isScrolling = false; });
$clickcount++;
}
});
$('#prev').click(function() {
var $righty = $("#gallerytop, #gallerybottom");
if ($clickcount > 0 && !$isScrolling) {
$isScrolling = true;
if ($clickcount == ($overflow - 1)) {
$extrabijtellen = $extrabijtellendynamisch;
}
else {
$extrabijtellen = 0;
}
$righty.stop().animate({
marginLeft: (parseInt($righty.css('marginLeft'), 10) + ($("#gallerytop img:first").width() + $extrabijtellen))
}, "normal", function() { $isScrolling = false; });
$clickcount--;
}
});
if (($aantal) > $viewportsize) {
$("#prev, #next").css("display", "block");
}
答案 1 :(得分:0)
我可能会使用div的左侧位置($(....).offset().left
)来控制它是否到达我视口中的那个点。