課程
/前端開發(fā)
/JavaScript
/焦點(diǎn)圖輪播特效
在點(diǎn)擊小圓點(diǎn)時(shí),像素在變化 ,可圖片不動(dòng)怎么辦
2016-04-23
源自:焦點(diǎn)圖輪播特效 5-1
正在回答
img.style.left=parseInt(img.style.left)+offset+'px';
if(parseInt(img.style.left)+offset > -255){
img.style.left=-765+'px';
}
if(parseInt(img.style.left)+offset < -765){
img.style.left=-255+'px';
1、在前面已經(jīng)將parseInt(img.style.left)+offset+'px';賦值給了img.style.left,判斷的時(shí)候卻又加了一個(gè)offset,
本來點(diǎn)擊小圓點(diǎn)時(shí)是不會(huì)觸發(fā)if語句的,但你的判斷語句把left改為初始的left就是if(parseInt(img.style.left)+offset+offset> -255)的效果,結(jié)果點(diǎn)擊小圓點(diǎn)也可能觸發(fā)if語句,自然會(huì)有錯(cuò)誤
2、
<div class="img" id="img" style="left: -255px;" >
<img src="img/成績(jī).jpg" />
<img src="img/圖書館.jpg" />
<img src="img/課表.jpg" />
</div>
和
<div class="navi" id="navi">
<span index="1" class="on"><img src="img/icon_dean_score.png" /></span>
<span index="2"><img src="img/icon_dean_exam.png"/></span>
<span index="3"><img src="img/icon_ecard.png"/></span>
<span index="4"><img src="img/icon_chat.png" /></span>
你取得img是上一組圖片的id,而數(shù)組navi取得確是下一組的,這樣來算left怎么也不可能算對(duì)吧
還有如果你用的是下一組的話,是四張圖片,if(parseInt(img.style.left)+offset < -765)中765應(yīng)改為1020
3、
設(shè)置了left:-255,卻沒有在第1張圖片之前在加一張圖片,這樣你一進(jìn)去是看不到第一張圖片的,改成以下即可
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link rel="stylesheet" href="css/try.css" />
</head>
<body>
<div id="show">
<div class="phone"><img src="img/phone.jpg" />
<div id="continer">
</body>
<script type="text/javascript">
window.onload=function(){
var continer=document.getElementById('continer');
var img=document.getElementById('img');
var navi=document.getElementById('navi').getElementsByTagName('span');
var index=1;
?
function showButton() {
? ? ? ? ? ? ? ? for (var i = 0; i < navi.length ; i++) {
? ? ? ? ? ? ? ? ? ? if( navi[i].className == 'on'){
? ? ? ? ? ? ? ? ? ? ? ? navi[i].className = '';
? ? ? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? navi[index - 1].className = 'on';
? ? ? ? ? ? }
function animate(offset){
for(var i=0;i<navi.length;i++){
navi[i].onclick=function(){
var myIndex=parseInt(this.getAttribute('index'));
var offset=-255*(myIndex-index);
index=myIndex;
animate(offset);
showButton();
</script>
</html>
把你的代碼貼上來啊
舉報(bào)
通過本教程學(xué)習(xí)您將能掌握非常實(shí)用的焦點(diǎn)圖輪播特效的制作過程
1 回答位移時(shí)間加長(zhǎng),再執(zhí)行動(dòng)畫過程中點(diǎn)擊小圓點(diǎn)會(huì)改變小圓點(diǎn)對(duì)應(yīng)的圖片,怎么辦
1 回答點(diǎn)擊圖片不滾動(dòng)
1 回答雙擊next/prev時(shí),圓點(diǎn)跳兩下,但是圖片只動(dòng)一下
1 回答為什么使用小圓點(diǎn)切換幾次圖片后,圖片出現(xiàn)的不對(duì)呢,比如點(diǎn)擊第一個(gè)小圓點(diǎn)卻出現(xiàn)了第三張圖片,開始點(diǎn)擊的幾次是正常的
4 回答點(diǎn)擊小圓點(diǎn)出問題了
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2016-06-09
img.style.left=parseInt(img.style.left)+offset+'px';
if(parseInt(img.style.left)+offset > -255){
img.style.left=-765+'px';
}
if(parseInt(img.style.left)+offset < -765){
img.style.left=-255+'px';
}
1、在前面已經(jīng)將parseInt(img.style.left)+offset+'px';賦值給了img.style.left,判斷的時(shí)候卻又加了一個(gè)offset,
本來點(diǎn)擊小圓點(diǎn)時(shí)是不會(huì)觸發(fā)if語句的,但你的判斷語句把left改為初始的left就是if(parseInt(img.style.left)+offset+offset> -255)的效果,結(jié)果點(diǎn)擊小圓點(diǎn)也可能觸發(fā)if語句,自然會(huì)有錯(cuò)誤
2、
<div class="img" id="img" style="left: -255px;" >
<img src="img/成績(jī).jpg" />
<img src="img/圖書館.jpg" />
<img src="img/課表.jpg" />
</div>
和
<div class="navi" id="navi">
<span index="1" class="on"><img src="img/icon_dean_score.png" /></span>
<span index="2"><img src="img/icon_dean_exam.png"/></span>
<span index="3"><img src="img/icon_ecard.png"/></span>
<span index="4"><img src="img/icon_chat.png" /></span>
</div>
你取得img是上一組圖片的id,而數(shù)組navi取得確是下一組的,這樣來算left怎么也不可能算對(duì)吧
還有如果你用的是下一組的話,是四張圖片,if(parseInt(img.style.left)+offset < -765)中765應(yīng)改為1020
3、
<div class="img" id="img" style="left: -255px;" >
<img src="img/成績(jī).jpg" />
設(shè)置了left:-255,卻沒有在第1張圖片之前在加一張圖片,這樣你一進(jìn)去是看不到第一張圖片的,改成以下即可
<div class="img" id="img" style="left: -255px;" >
<img src="img/課表.jpg" />
<img src="img/成績(jī).jpg" />
<img src="img/圖書館.jpg" />
<img src="img/課表.jpg" />
</div>
2016-04-24
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link rel="stylesheet" href="css/try.css" />
</head>
<body>
<div id="show">
<div class="phone"><img src="img/phone.jpg" />
<div id="continer">
<div class="img" id="img" style="left: -255px;" >
<img src="img/成績(jī).jpg" />
<img src="img/圖書館.jpg" />
<img src="img/課表.jpg" />
</div>
</div>
</div>
<div class="navi" id="navi">
<span index="1" class="on"><img src="img/icon_dean_score.png" /></span>
<span index="2"><img src="img/icon_dean_exam.png"/></span>
<span index="3"><img src="img/icon_ecard.png"/></span>
<span index="4"><img src="img/icon_chat.png" /></span>
</div>
</div>
</body>
<script type="text/javascript">
window.onload=function(){
var continer=document.getElementById('continer');
var img=document.getElementById('img');
var navi=document.getElementById('navi').getElementsByTagName('span');
var index=1;
?
function showButton() {
? ? ? ? ? ? ? ? for (var i = 0; i < navi.length ; i++) {
? ? ? ? ? ? ? ? ? ? if( navi[i].className == 'on'){
? ? ? ? ? ? ? ? ? ? ? ? navi[i].className = '';
? ? ? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? navi[index - 1].className = 'on';
? ? ? ? ? ? }
function animate(offset){
img.style.left=parseInt(img.style.left)+offset+'px';
if(parseInt(img.style.left)+offset > -255){
img.style.left=-765+'px';
}
if(parseInt(img.style.left)+offset < -765){
img.style.left=-255+'px';
}
}
for(var i=0;i<navi.length;i++){
navi[i].onclick=function(){
var myIndex=parseInt(this.getAttribute('index'));
var offset=-255*(myIndex-index);
index=myIndex;
animate(offset);
showButton();
}
}
}
</script>
</html>
2016-04-23
把你的代碼貼上來啊