js之隔行换色
.gif)

<!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>
//通过类名获取元素样式
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();
}
}
//各行变色
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之隔行换色的更多相关文章
- js表格隔行换色和hover效果
<!--js效果--> <script src="js/jquery.min.js" language="javascript">< ...
- css和js处理隔行换色的问题
<html> <head> <meta charset="utf-8"> <meta name="" conten ...
- 原生js实现音乐列表(隔行换色、全选)
一.实现原理: 1.使用 % 运算符实现各行换色,规律:当%前面的值和后面的值相同时 结果为0: 2.使用开关思想,实现在同一个元素上反复点击时的条件判断,并且把开关以属性方式绑定在每个元素上: 3 ...
- JS给TR隔行换色,鼠标经过有动感
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DT ...
- 利用JS动态生成隔行换色HTML表格
用JS生成动态生成表格,行.列由用户输入,并使表格隔行换色 方法一. 代码: <!DOCTYPE html> 2 <html> 3 <head> 4 <tit ...
- js课程 4-11 表格如何实现隔行换色
js课程 4-11 表格如何实现隔行换色 一.总结 一句话总结:表格奇数行和偶数行判断,赋予不同的样式. 1.表格如何隔行换色? 表格奇数行和偶数行判断,赋予不同的样式. 21 <script& ...
- JS实现自定义工具类,隔行换色、复选框全选、隔行高亮等
很多功能都可以放在js的工具类中,在使用的时候直接调用 本次实现的功能包括: /** 0.当点击表的整行的任意位置时,第一列的复选框或者单选框均选中 1.隔行换色 2.复选框的全选效果 3.实现表格 ...
- JS应用实例4:表格隔行换色
HTML代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <t ...
- js实现表单的隔行换色、鼠标高亮出来等相关内容以及相关事件的作用
主要是使用的onload().onmouseover和onmouseout的相关应用,满足此次的相关操作. 具体的相关的两个代码如下: <!DOCTYPE html> <html&g ...
随机推荐
- centos7配置安装redis
关闭防火墙:systemctl stop firewalld.service #停止firewallsystemctl disable firewalld.service #禁止firewall开机启 ...
- SQLite-C#-帮助类
public static class SQLiteHelper { private static string connectionString = string.Empty; #region vo ...
- 【Semantic Segmentation】DeepLab V3(转)
原文地址:DeepLabv3 代码: TensorFlow Abstract DeepLabv3进一步探讨空洞卷积,这是一个在语义分割任务中:可以调整滤波器视野.控制卷积神经网络计算的特征响应分辨率的 ...
- STL的其他用法(adjacent_find, find_first_of, sort_heap, merge, binary_search)总结
2017-08-20 17:26:07 writer:pprp 1.adjacent_find() 下面是源码实现: template <class ForwardIterator> Fo ...
- Linux 本地调试Hadoop
将Hadoop部署后,可以使用java api进行访问,但是并不能像安装完mysql后用python自带的mysql api连接那么简单. Hadoop/share目录下有Hadoop所有的jar包, ...
- ubuntu16.04 安装power shell
ubuntu16.04 安装power shell # Download the Microsoft repository GPG keys wget -q https://packages.micr ...
- mysql术语
事务 概念:在关系数据库中,一个事物可以是一条sql语句,一组sql语句或整个程序. 特性:事物应该具有4个特性:原子性.一致性.隔离性.持久性.统称为ACID特性. 原子性(A)一个不可分割的工作单 ...
- 开发H5游戏引擎的选择:Egret或Laya?
开发H5游戏引擎的选择:Egret或Laya? 一.总结 一句话总结:选laya吧 二.开发H5游戏引擎的选择:Egret或Laya? 一.H5游戏开发的引擎介绍 开发H5游戏的引擎有很多,比如egr ...
- JXLS导出Excel(模板导出)
1.导包 在pom.xml中加入依赖如下: <dependency> <groupId>org.jxls</groupId> <artifactId>j ...
- zookeeper常见错误
1.在注册中心找不到对应的服务 这种错误是服务层代码没有成功注册到注册中心导致,请检查一下你的服务层代码是否添加了@service注解,并且该注解的包一定是com.alibaba.dubbo.conf ...