HTML
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>加载更多</title>
<style type="text/css">
.list li{
padding: 10px;
line-height: 15px;
}
.list a{
float: right;
}
.loadMore{
text-align: center;
line-height: 50px;
background: #ccc;
}
.loadMore:hover{
background: #f99;
color: #9ff;
font-size: 18px;
font-weight: 900;
cursor: pointer;
}
</style>
</head>
<body>
<ul class="list">
<li>这是第1个新闻<a href="javascript:;">×</a></li>
<li>这是第2个新闻<a href="javascript:;">×</a></li>
<li>这是第3个新闻<a href="javascript:;">×</a></li>
<li>这是第4个新闻<a href="javascript:;">×</a></li>
<li>这是第5个新闻<a href="javascript:;">×</a></li>
<li>这是第6个新闻<a href="javascript:;">×</a></li>
<li>这是第7个新闻<a href="javascript:;">×</a></li>
<li>这是第8个新闻<a href="javascript:;">×</a></li>
<li>这是第9个新闻<a href="javascript:;">×</a></li>
<li>这是第10个新闻<a href="javascript:;">×</a></li>
<li>这是第11个新闻<a href="javascript:;">×</a></li>
<li>这是第12个新闻<a href="javascript:;">×</a></li>
<li>这是第13个新闻<a href="javascript:;">×</a></li>
<li>这是第14个新闻<a href="javascript:;">×</a></li>
<li>这是第15个新闻<a href="javascript:;">×</a></li>
<li>这是第16个新闻<a href="javascript:;">×</a></li>
<li>这是第17个新闻<a href="javascript:;">×</a></li>
<li>这是第18个新闻<a href="javascript:;">×</a></li>
<li>这是第19个新闻<a href="javascript:;">×</a></li>
</ul>
<div class="loadMore">加载更多</div>
<script src="js/common.js"></script>
<script src="js/index.js"></script>
</body>
</html>

  

 
JS
Common
//通过类名获取元素样式
function byClassName(sClassName){
if(document.getElementsBYClassName){
return document.getElementsByClassName(sClassName);
} else {
var allTagsName = document.getElementsByTagName('*');
var result = [];
for(var i = 0; i<allTagsName.length;i++){
if(allTagsName[i].className === sClassName){
result.push(allTagsName[i]);
}
}
return result;
}
}
//通过Id获取元素样式
function $(id){
return document.getElementById(id);
}
//获取元素的实际样式
function getStyle(obj,attr){
if(obj.currentStyle){
return obj.currentStyle[attr];
} else {
return document.getComputedStyle(obj,false)[attr];
}
}
//多属性缓冲运动
function bufferMove(obj,target,fn,ratio){
var ratio = ratio || 8;
clearInterval(obj.timer);
obj.timer = setInterval(function(){
var allOk = true;
for(var attr in target){
var cur = 0;
if(attr === 'opacity'){
cur = parseInt(getStyle(obj,'opacity') * 100);
} else {
cur = parseInt(getStyle(obj,attr));
}
var speed =(target[attr] - cur) / ratio;
speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);
var next = speed + cur;
if(attr === 'opacity'){
obj.style.opacity = next + 'px';
obj.style.opacity = 'alpha(opacity= ' + next + ') ';
} else {
obj.style[attr] = next + 'px';
}
if(next !== target[attr]){
allOk = false;
}
}
if(allOk){
clearInterval(obj.timer);
if(fn){
fn();
}
}
},50)
}
//添加事件兼容,绑定多个事件
function bindEvent(obj,type,fn){
if(obj.addEventListener){
obj.addEventListener(type,fn);
} else {
obj.attachEvent('on' + type,fn);
}
} function ajax({type,data,url,async,beforeSend,success,complete}){
var async = async || true;
// 创建对象
var xhr = new XMLHttpRequest();
// 字符串的拼接
if(typeof data === 'object'){
var str = '';
for(var attr in data){
str += encodeURIComponent(attr) + '=' + encodeURIComponent(data[attr]) + '&';
}
data = str.slice(0,-1);
}
if(type.toUpperCase() === 'GET' && data){
url += '?' + data;
}
// 配置
xhr.open(type,url,async);
// 接收数据
xhr.onreadystatechange = function(){
if(xhr.readyState === 4){
if(xhr.status === 200){
success && success(xhr.responseText);
}
complete && complete();
}
};
// 发送
beforeSend && beforeSend();
if(type.toUpperCase() === 'POST'){
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
xhr.send(data);
} else {
xhr.send();
}
}
 
JS
//各行变色
var oList = byClassName('list')[0];
var oLoadMore = byClassName('loadMore')[0];
var oLi = oList.children;
for(var i = 0 ; i<oLi.length;i++){
if(i % 2 === 0){
oLi[i].style.backgroundColor = '#ccc';
}
oLi[i].index = i;
oLi[i].onmouseover = function(){
this.style.backgroundColor = '#9ff';
}
oLi[i].onmouseout = function(){
if(this.index % 2 === 0){
this.style.backgroundColor = '#ccc';
} else {
this.style.backgroundColor = '#fff';
}
}
}
//添加删除功能
oList.onclick = function(ev){
var e = ev || window.event;
var o = e.target || e.srcElement;
if(o.nodeName === 'A'){
oList.removeChild(o.parentNode);
}
}
//加载更多点击事件
oLoadMore.onclick = function(){
ajax({
type: 'post',
url: 'news.php',
success: function(data){
data = JSON.parse(data);
console.log(data);
data.forEach(v => {
var oNewLi = document.createElement('li');
oNewLi.innerHTML = '<a href="javascript">×</a>' + v;
oList.appendChild(oNewLi);
})
}
})
}

  

 
 

js之隔行换色的更多相关文章

  1. js表格隔行换色和hover效果

    <!--js效果--> <script src="js/jquery.min.js" language="javascript">< ...

  2. css和js处理隔行换色的问题

      <html> <head> <meta charset="utf-8"> <meta name="" conten ...

  3. 原生js实现音乐列表(隔行换色、全选)

    一.实现原理: 1.使用 % 运算符实现各行换色,规律:当%前面的值和后面的值相同时  结果为0: 2.使用开关思想,实现在同一个元素上反复点击时的条件判断,并且把开关以属性方式绑定在每个元素上: 3 ...

  4. JS给TR隔行换色,鼠标经过有动感

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DT ...

  5. 利用JS动态生成隔行换色HTML表格

    用JS生成动态生成表格,行.列由用户输入,并使表格隔行换色 方法一. 代码: <!DOCTYPE html> 2 <html> 3 <head> 4 <tit ...

  6. js课程 4-11 表格如何实现隔行换色

    js课程 4-11 表格如何实现隔行换色 一.总结 一句话总结:表格奇数行和偶数行判断,赋予不同的样式. 1.表格如何隔行换色? 表格奇数行和偶数行判断,赋予不同的样式. 21 <script& ...

  7. JS实现自定义工具类,隔行换色、复选框全选、隔行高亮等

    很多功能都可以放在js的工具类中,在使用的时候直接调用 本次实现的功能包括: /** 0.当点击表的整行的任意位置时,第一列的复选框或者单选框均选中  1.隔行换色 2.复选框的全选效果 3.实现表格 ...

  8. JS应用实例4:表格隔行换色

    HTML代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <t ...

  9. js实现表单的隔行换色、鼠标高亮出来等相关内容以及相关事件的作用

    主要是使用的onload().onmouseover和onmouseout的相关应用,满足此次的相关操作. 具体的相关的两个代码如下: <!DOCTYPE html> <html&g ...

随机推荐

  1. 混合开发的大趋势之一React Native手势行为那些事

    转载请注明出处:王亟亟的大牛之路 最近项目部分模块重构,事情有点多,学习进度有所延缓,外加一直在吸毒(wow你懂的),导致好多天没发问了,其实这部分知识月头就想写了,一直没补. 话不多说先安利:htt ...

  2. Servlet3.0整合Springmvc(注解版)

    在创建maven的web工程时候,如果报错缺少web.xml 则在pom添加如下配置 : <build> <plugins> <plugin> <groupI ...

  3. .net 获取当前电脑账户

    string domainAndName = User.Identity.Name; ] { '\\' }, StringSplitOptions.RemoveEmptyEntries); strin ...

  4. html-常用块级及行级标签

    1.常见块级标签   <h1></h1>......<h6></h6>:标题标签 h标签:标题标签,自动加粗,h1最大,h6最小 例:(前后隔一行)   ...

  5. 如何将JS里变量的值赋给文本框

    举个栗子: <html><HEAD><script type="text/javascript" language="Javascript1 ...

  6. nlp基本知识点(不断更新)

    1.精确率与召回率 召回率也称为查全率,指的是:你查询到的相关数目/(你查询到的相关的数目+你没有查询到的相关的数目). 精确率: A/A+B 召回率:A/A+C 再比如: 我 是 中国人 这里正确的 ...

  7. emmet常用指令组合

    emmet的应用   1.生成html(需要先将文件命名为.html后缀) !+tab,html:5+tab   2.生成meta utf meta:utf+tab   3.生成meta viewpo ...

  8. CountDownLatch await可能存在的问题

    执行countdown的某个子线程可能会因为某些原因无法执行countdown,这样就会导致await线程一直阻塞下去. 在线程池中多次调用await方法,因为await方法会阻塞一段时间,有可能导致 ...

  9. 新浪云连接数据库php

    一般数据库连接$con = mysql_connect("localhost", "root", ""); 而新浪云共享数据库 <?p ...

  10. C++ 线程的创建、挂起、唤醒和结束 &&&& 利用waitForSingleObject 函数陷入死锁的问题解决

    最近在写一个CAN总线的上位机软件,利用CAN转USB的设备连到电脑上,进行数据的传输.在接收下位机发送的数据的时候采用的在线程中持续接收数据. 1.在连接设备的函数中,开启线程. ,CREATE_S ...