मेरी खोज में जावास्क्रिप्ट मैं एक ही स्लाइडर बनाने हूँ जानने के लिए, लेकिन जावास्क्रिप्ट पर एनीमेशन के साथ (सीएसएस का उपयोग कर यह मेरे लिए कोई मुद्दा नहीं है - यह साइट गूगल पर बनाया गया था) के नीचे एक के रूप में,:जावास्क्रिप्ट में एक स्लाइडिंग एनीमेशन को सही ढंग से कैसे कार्यान्वित करें?
मूल गूगल स्लाइडर (सीएसएस के साथ एनिमेशन):
http://www.google.com/about/datacenters/inside/
मेरा काम अब तक:
<!-- language-all: lang-html -->
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
#promo{
display:block;
height: 354px;
width: 790px;
}
.promo-item {
width: 81px;
height: 354px;
float: left;
}
.promo-item.wide {
width: 613px;
}
.threeP {
background-color: rgb(206, 203, 203);
}
.oneP {
background-color: rgb(241, 220, 182);
}
.twoP {
background-color: rgb(187, 217, 226);
}
</style>
</head>
<body>
<div id="promo">
<div class="promo-item twoP wide" id="twoP">
<div>
</div>
</div>
<div class="promo-item threeP" id="threeP">
<div>
</div>
</div>
<div class="promo-item oneP" id="oneP">
<div>
</div>
</div>
</div>
<script type="text/javascript">
var oneP = document.getElementById('oneP');
var twoP = document.getElementById('twoP');
var threeP = document.getElementById('threeP');
step = 1;
function expandPanel1(){
var h = oneP.clientWidth + step;
oneP.style.width = h+"px";
if (h < 614 || h !=614) {
setTimeout("expandPanel1()", 5);
} else { oneP.style.width = 613+"px"; }
}
function expandPanel2(){
var h = twoP.clientWidth + step;
twoP.style.width = h+"px";
if (h < 614 || h !=614) {
setTimeout("expandPanel2()", 5)
} else { twoP.style.width = 613+"px"; }
}
function expandPanel3(){
var h = threeP.clientWidth + step;
threeP.style.width = h+"px";
if (h < 614 || h !=614) {
setTimeout("expandPanel3()", 5)
} else { threeP.style.width = 613+"px"; }
}
//---------------------------------------------
function expandPanel1Minus(){
var h = oneP.clientWidth - step;
oneP.style.width = h+"px";
if (h > 80 || h !=80) {
setTimeout("expandPanel1Minus()", 5)
} else { oneP.style.width = 81+"px"; }
}
function expandPanel2Minus(){
var h = twoP.clientWidth - step;
twoP.style.width = h+"px";
if (h > 80 || h !=80) {
setTimeout("expandPanel2Minus()", 5)
} else { twoP.style.width = 81+"px"; }
}
function expandPanel3Minus(){
var h = threeP.clientWidth - step;
threeP.style.width = h+"px";
if (h > 80 || h !=80) {
setTimeout("expandPanel3Minus()", 5)
} else { threeP.style.width = 81+"px"; }
}
//---------------------------------------------
oneP.onmouseover = function() {
expandPanel1()
expandPanel3Minus()
expandPanel2Minus()
}
twoP.onmouseover = function() {
expandPanel2()
expandPanel3Minus()
expandPanel1Minus()
}
threeP.onmouseover = function() {
expandPanel3()
expandPanel2Minus()
expandPanel1Minus()
}
</script>
मैं जानता हूँ कि इस उदाहरण में त्रुटियाँ हैं, तो स्लाइडर पर माउस के साथ एक लंबी सैर, यह "हिंसक" चलाने के लिए शुरू होता है :) मैं जानबूझ कर एनीमेशन गति को कम कर दिया है।
क्या कोई मुझे सही तरीके से कार्यान्वित करने के बारे में कुछ मार्गदर्शन दे सकता है?
आप इसे पूरी तरह से css3 के साथ कर सकते हैं। आपके लिए एक उदाहरण पर काम करना – tobspr
@ tobias-springer मुझे पता है कि यह सीएसएस के साथ किया जा सकता है (मेरे लिए यह काफी सरल है), लेकिन मैं जावास्क्रिप्ट सीख रहा हूं और मुझे इसके साथ ऐसा करने में बहुत दिलचस्पी है। – user1769072
ठीक है, लेकिन यहां सीएसएस समाधान है: http://jsfiddle.net/aJzgJ/4/embedded/result/ – tobspr