HTML
CSS
body{background:url(http://wallpaperfast.com/wp-content/uploads/2013/05/Beautiful-Beach-Wallpaper.jpg) no-repeat;background-size:100%;}
.wrapper{width:100%;}
.on{opacity:0;cursor:pointer;}
.block{/*width:100px;height:100px;*/display:block;float:left;}
.inner-block{display:block;background:rgba(255, 255, 255, 0.4);margin:1px;height:98%;width:98%;}
JS
$(document).ready(function() {
// Get scrollbar width
function getScrollbarWidth() {
var outer = document.createElement("div");
outer.style.visibility = "hidden";
outer.style.width = "100px";
document.body.appendChild(outer);
var widthNoScroll = outer.offsetWidth;
outer.style.overflow = "scroll";
var inner = document.createElement("div");
inner.style.width = "100%";
outer.appendChild(inner);
var widthWithScroll = inner.offsetWidth;
outer.parentNode.removeChild(outer);
return widthNoScroll - widthWithScroll;
}
// Get scrollbar width
var winWidth = $(window).width() - getScrollbarWidth();
var winHeight = $(window).height();
var winRatio = winWidth/winHeight;
//alert(winWidth);
var numBlock = (winWidth/10);
var blockHeight = numBlock;
var i;
for(i=0;i<numBlock;i++){
$('.wrapper').append('<div class="block"><div class="inner-block"></div></div>');
$(".block").css({"width":numBlock +'px', "height":blockHeight +'px'});
}
$(function(){
$(".block").hover(function(){
var elem = $(this);
setTimeout (function(){
elem.addClass("on");
}, 100) ;
},function(){
var elem = $(this);
setTimeout (function(){
elem.removeClass("on");
}, 200) ;
})
});
$(window).resize(function(){
var winWidth = $(window).width() - getScrollbarWidth();
var winHeight = $(window).height();
var winRatio = winWidth/winHeight;
//winRatio = Math.min(winRatio, 1.0);
$(".block").width($(".block").width()*winRatio);
$(".block").width($(".block").height()*winRatio);
})
});
Example
Sorun nedir? – mohkhan
Bloklar forloop penceresi yükseklikten daha fazladır, bu sırada dikey kaydırma olmamalıdır. – matthewb
10 bloğunuz her zaman arka arkaya 10 olmalıdır? ya da buna göre değişebilir mi? Bunu, sayfaları doldurduktan sonra blokların nasıl davranmasını istediğinize bağlı olarak, bazı akıllı CSS'lerle başarabilirsiniz. –