⑴ js 給li設置了右外邊距且左浮動,當li達到4個時,自動換行顯示且第4個li的右邊距自動刪除
<metacharset="utf-8"/>
<style>
a{color:#fff;}
ul,ol,li{
list-style:noneoutsidenone;
padding:0;
margin:0;
}
#list{
width:430px;
overflow:hidden;
background:#cecece;
}
#listli{
width:100px;
float:left;
margin-right:10px;
margin-bottom:20px;
background:#333;
}
</style>
<ulid="list">
<li><ahref="#">1</a></li>
<li><ahref="#">2</a></li>
<li><ahref="#">3</a></li>
<li><ahref="#">4</a></li>
<li><ahref="#">5</a></li>
<li><ahref="#">6</a></li>
<li><ahref="#">7</a></li>
<li><ahref="#">8</a></li>
<li><ahref="#">9</a></li>
<li><ahref="#">10</a></li>
<li><ahref="#">11</a></li>
<li><ahref="#">12</a></li>
<li><ahref="#">13</a></li>
</ul>
<script>
functiondel4margin(x){
varObjLi=document.getElementById("list").getElementsByTagName("li");
for(vari=1;i<ObjLi.length;i++){
if(i%x==0&&i!==0){
ObjLi[i-1].style.background="red";
ObjLi[i-1].style.marginRight="0";
}
}
}
window.onload=del4margin(4);//傳入參數4,去掉第4個li的外邊距
</script>
⑵ JS效果:3個不同顏色的li不斷循環,怎麼做
<meta charset="utf-8" />
如果出現亂碼請把utf-8設置為gbk<br />
<style type="text/css">
/*先定義三個顏色類*/
.ys1{background-color:#f00;}
.ys2{background-color:#0f0;}
.ys3{background-color:#00f;}
</style>
ok顏色樣式有了
<br />
來,做個輸入框<br />
這位仁兄,你要列印多少
<input type="text" id="n" value="10" />
<input type="button" value="開始列印" onclick="print()" />
<br />
給編輯框加id(我設置為n),方便等會取數量
<br />
給按鈕加上事件,被單擊調用print()
<br />
接下來我們開始寫print()
<br />
。。等會忘了,在加個標簽(id=rs)用來顯示結果
<br />
<ol id="rs"></ol>
<script type="text/javascript">
function print(){
//創建一個print()
//1.取出列印數量賦值給變數$n
var $n=document.getElementById("n").value;
//好,提示一把看看有沒有成功
alert("哥,你想列印"+$n+"個li,沒事,一定要是整數哦!還有別輸幾萬,免得你機器頂不住");
//來,創建樣式類名數組用來作為等會給li賦值類名
var $style=["ys1","ys2","ys3"];//就是我們剛剛定義的樣式
var $z=0;//初始化為0,讓他指向數組第一個元素
//在定義一個變數存放結果
var $rs="";//初始化為空
//要讓他循環$n次
for(var $i=0;$i<$n;$i++){
if($z==$style.length){
//判斷指針是否指到外面去了。。。這里一定要好好理解
$z=0;
}
$rs+='<li class="'+$style[$z]+'">';
$rs+="這是第"+($i+1)+"個li,這個時候這個li的累名為"+$style[$z]+"</li>";
$z++;//自身加1
}
//好循環完成,結果在$rs中
document.getElementById("rs").innerHTML=$rs;
}
</script>
⑶ js原生代碼實現輪播圖
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>最簡單的輪播廣告</title>
<style>
body, div, ul, li {
margin: 0;
padding: 0;
}
ul {
list-style-type: none;
}
body {
background: #000;
text-align: center;
font: 12px/20px Arial;
}
#box {
position: relative;
width: 492px;
height: 172px;
background: #fff;
border-radius: 5px;
border: 8px solid #fff;
margin: 10px auto;
}
#box .list {
position: relative;
width: 490px;
height: 170px;
overflow: hidden;
border: 1px solid #ccc;
}
#box .list li {
position: absolute;
top: 0;
left: 0;
width: 490px;
height: 170px;
opacity: 0;
transition: opacity 0.5s linear
}
#box .list li.current {
opacity: 1;
}
#box .count {
position: absolute;
right: 0;
bottom: 5px;
}
#box .count li {
color: #fff;
float: left;
width: 20px;
height: 20px;
cursor: pointer;
margin-right: 5px;
overflow: hidden;
background: #F90;
opacity: 0.7;
border-radius: 20px;
}
#box .count li.current {
color: #fff;
opacity: 0.7;
font-weight: 700;
background: #f60
}
</style>
</head>
<body>
<div id="box">
<ul class="list">
<li class="current" style="opacity: 1;"><img src="img/images04/01.jpg" width="490" height="170"></li>
<li style="opacity: 0;"><img src="img/images04/02.jpg" width="490" height="170"></li>
<li style="opacity: 0;"><img src="img/images04/03.jpg" width="490" height="170"></li>
<li style="opacity: 0;"><img src="img/images04/04.jpg" width="490" height="170"></li>
<li style="opacity: 0;"><img src="img/images04/05.jpg" width="490" height="170"></li>
</ul>
<ul class="count">
<li class="current">1</li>
<li class="">2</li>
<li class="">3</li>
<li class="">4</li>
<li class="">5</li>
</ul>
</div>
<script>
var box=document.getElementById('box');
var uls=document.getElementsByTagName('ul');
var imgs=uls[0].getElementsByTagName('li');
var btn=uls[1].getElementsByTagName('li');
var i=index=0; //中間量,統一聲明;
var play=null;
console.log(box,uls,imgs,btn);//獲取正確
//圖片切換, 淡入淡出效果我是用(transition: opacity 0.8s linear)做的,不糾結、簡單 在css裡面
function show(a){ //方法定義的是當傳入一個下標時,按鈕和圖片做出對的反應
for(i=0;i<btn.length;i++ ){
btn[i].className=''; //很容易看懂吧?每個按鈕都先設置成看不見,然後把當前按鈕設置成可見。
btn[a].className='current';
}
for(i=0;i<imgs.length;i++){ //把圖片的效果設置和按鈕相同
imgs[i].style.opacity=0;
imgs[a].style.opacity=1;
}
}
//切換按鈕功能,響應對應圖片
for(i=0;i<btn.length;i++){
btn[i].index=i; //不知道你有沒有發現,循環里的方法去調用循環里的變數體i,會出現調到的不是i的變動值的問題。所以我先在循環外保存住
btn[i].onmouseover=function(){
show(this.index);
clearInterval(play); //這就是最後那句話追加的功能
}
}
//自動輪播方法
function autoPlay(){
play=setInterval(function(){ //這個paly是為了保存定時器的,變數必須在全局聲明 不然其他方法調不到 或者你可以調用auto.play 也許可以但是沒時間試了
index++;
index>=imgs.length&&(index=0);//可能有優先順序問題,所以用了括弧,沒時間測試了。
show(index);
},1000)
}
autoPlay();//馬上調用,我試過用window.onload調用這個方法,但是調用之後影響到了其他方法,使用autoPlay所以只能這樣調用了
//div的滑鼠移入移出事件
box.onmouseover=function(){
clearInterval(play);
};
box.onmouseout=function(){
autoPlay();
};
//按鈕下標也要加上相同的滑鼠事件,不然圖片停止了,定時器沒停,會突然閃到很大的數字上。 貌似我可以直接追加到之前定義事件中。
</script>
</body>
</html>
⑷ ul里的li個數不固定現在想把每個li用js加寬度平均分布
2處錯誤
if(sgf=2) 應該是if(sgf==2)
整個邏輯有問題,if語句導致的; 所有不滿足sgf==4的都會執行.css({'width':'20%'});
相當於前面的if都沒用
解決:你這個問題沒這么麻煩 ,一句話搞定
$(".sygfdnav ul li").css({'width':'" + 100 / sgf + "%'});
⑸ js中的for循環輸出,怎麼輸出到html中的指定位置 循環li
准備的材料有:計算機、瀏覽器、html編輯器。
一、首先,打開html編輯器,創建一個新的html文件,比如index.html,並編寫問題的基本代碼。
⑹ js如何獲取被點擊li是第幾個
1、首先打開html編輯器,新建一個html文件,裡面寫入4個li標簽,並在上方的style標簽中設置li的樣式,給li標簽高回度和寬度以及邊框,答同時設置li標簽之間的間隔。
⑺ js實現圖片自動的滾動效果
把你的代碼放在「內容」中間就可以了 寬度600px,你自己可以改寬度
<DIV id=demoleft style="OVERFLOW: hidden; WIDTH:600px;">
<TABLE border="0" align="left" cellPadding="0" cellSpacing="0" cellspace="0">
<TBODY>
<TR>
<TD width="600" align=middle vAlign=top id=demo1left>
<!--內容-->
<table width="600" height="120" border="0" cellpadding="0" cellspacing="0">
<tr>
<%
set rs=server.CreateObject("adodb.recordset")
rs.open "select top 8 * from cp_aboutus where userid="&hid&" order by updatetime desc,articleid desc ",conn,1,1
if not rs.eof then
dim hang
hang = 0
do while not rs.eof
hang = hang + 1
%>
<td>
<table width="110" height="115" border="0" align="center" cellpadding="0" cellspacing="0" id="table12">
<tr>
<td width="110" height="87"><%if rs("headpic")<>"" then%><a href="huicpshow.asp?hid=<%=hid%>&id=<%=rs("articleid")%>" title="<%=rs("title")%>" target="_blank"><img src="<%=rs("headpic")%>" width="110" height="87" border="0" /></a><%else response.Write "<table width=110 height=87 border=0 cellpadding=0 cellspacing=0><tr><td height=23 bgcolor=#EBEBEB align=center>暫無圖片</td></tr></table>" end if%></td>
</tr>
<tr>
<td align="center"><a href="huicpshow.asp?hid=<%=hid%>&id=<%=rs("articleid")%>" title="<%=rs("title")%>" target="_blank"><%=rs("title")%></a></td>
</tr>
</table>
</td>
<%
rs.movenext
loop
end if
rs.close
set rs=nothing
%>
</tr>
</table>
<!--end 內容-->
</TD>
<TD width="102" vAlign=top id=demo2left></TD>
</TR>
</TBODY>
</TABLE>
</DIV>
<SCRIPT>
var speed=18//速度數值越大速度越慢,demo2.offsetWidth=demo1.offsetWidth=固定值
var demoleft = document.getElementById("demoleft");
var demo2left = document.getElementById("demo2left");
var demo1left = document.getElementById("demo1left");
demo2left.innerHTML=demo1left.innerHTML
function Marquee(){
if(demo2left.offsetWidth-demoleft.scrollLeft<=0)//其實demo.scrollLeft是有 最大值的,和demo0.width,引用的圖片的width有關系。demo過了一半(每半內容一樣的),重新開始循環
demoleft.scrollLeft-=demo1left.offsetWidth
else{
demoleft.scrollLeft++//不斷的增加,相當於父容器的滾動條不斷是縮小;但由於OVERFLOW: hidden; (滾動條不可見)
}
}
var MyMarleft=setInterval(Marquee,speed)
demoleft.onmouseover=function() {clearInterval(MyMarleft)}
demoleft.onmouseout=function() {MyMarleft=setInterval(Marquee,speed)}
</SCRIPT>