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 ...
随机推荐
- Linux环境下的CPU消耗分析
在Linux系统中, CPU 主要用于中断,内核以及用户进程的任务处理,优先级为 中断 > 内核 > 用户进程.在CPU消耗分析中,我们还经常遇到下面几个概念. 上下文切换 ...
- linux用户态与内核态
系统调用:如何中用户态切换到内核态 在linux中,系统调用是通过0x86体系结构中的软件中断实现的.这个软件中断与通常说的硬件中断不同之处在于,它是通过软件指令触发,而不是外部设备,这是程序员可以触 ...
- 使用jsonp去访问跨域数据,回调使用数据
var foo = function (data) { console.log("foo", data)} var testJsonP = function () { $.ajax ...
- LeetCode第[73]题(Java):Set Matrix Zeroes(矩阵置0)
题目:矩阵置0 难度:Easy 题目内容: Given a m x n matrix, if an element is 0, set its entire row and column to 0. ...
- PHPCMSV9的CKEDITOR编辑器增加行距
lineheight插件,下载地址:http://files.cnblogs.com/ysfng/ckeditor-lineheight.zip 第一步,下载lineheight插件,并解压到\cke ...
- [Vue]Scoped Css与Css Modules的区别
均为解决CSS全局作用域问题(样式冲突(污染))的一个解决方案. 1.Scoped CSS 当 <style> 标签有 scoped 属性时,相当于在元素中添加了一个唯一属性用来区分. & ...
- svn diff color
大致有两种方式: 1,在bashrc中添加如下脚本 svndiff() { svn diff "${@}" | colordiff } 2,修改svn的配置文件 $ vim ~/. ...
- C++函数参数中的省略号
本文基本是转载自:https://blog.csdn.net/think12/article/details/5785066 另一篇看到写得很好的博客:https://www.cnblogs.com/ ...
- WKWebView的新特性与使用
在WWDC2014中,苹果推出了最新的iOS8系统,其中也伴随着很多控件的更新与升级.其中全新的WebKit库让人很是兴奋.本文也将讲解到WebKit中更新的WKWebView控件的新特性与使用方法, ...
- day27 CRM delete& action& 嵌入CRM
课程目录:deleteactionpop up window嵌入crm项目 权限(未讲)学员交作业发邮件 代码路径:https://github.com/liyongsan/git_class/tre ...