首页 文章 精选 留言 我的

精选列表

搜索[自动装配],共10000篇文章
优秀的个人博客,低调大师

杨校老师课堂之JavaScript案例之跑马灯左右无缝连接图片自动轮播

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kese7952/article/details/80177295 JavaScript案例之跑马灯左右无缝连接 效果图: 思路: 1.先做界面 1.1 制作一个大盒子,进行存放整个图片及按钮区域 1.2 制作两个按钮和中间区域盒子 1.3 中间区域盒子中使用无序列表进行排放图片,并且每个图片可以作为一个链接进行点击 2..CSS 2.1 清除全局的外边距和内边距 2.2 去除无序列表的黑点 2.3 去除存放图片区域的边界线 2.4 确定大盒子的宽高和位置【宽、高、上下空出50像素,水平居中、绝对定位】 2.5 左、按钮的样式【块级显示、宽、高、背景图片及平铺位置、绝对定位、上、左】 2.6 左按钮悬浮后样式【背景图片及平铺位置】 2.7 右、按钮的样式【块级显示、宽、高、背景图片及平铺位置、绝对定位、上、左】 2.8 右按钮悬浮后样式【背景图片及平铺位置】 2.9 中间盒子定位 2.10 中间盒子悬浮效果 3..JavaScript 3.1根据不同的标签名称去获取不同的元素 ...{尚未写完,稍后补上} 参考代码: Html代码 <!DOCTYPE html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>JavaScript案例之跑马灯左右无缝连接</title> </head> <body> <div class="roll" id="roll"> <a href="javascript:void(0);" class="btn_left"></a> <a href="javascript:void(0);" class="btn_right"></a> <div class="wrap"> <ul> <li><a href="http://teach.javabs.cn/"><img src="img/1.jpg" alt="杨校老师在线课堂开课了" /></a></li> <li><a href="http://teach.javabs.cn/"><img src="img/2.jpg" alt="杨校老师在线课堂开课了"/></a></li> <li><a href="http://teach.javabs.cn/"><img src="img/3.jpg" alt="杨校老师在线课堂开课了"/></a></li> <li><a href="http://teach.javabs.cn/"><img src="img/4.jpg" alt="杨校老师在线课堂开课了"/></a></li> </ul> </div> </div> </body> </html> CSS代码 * { padding: 0; margin: 0; } li { list-style: none; } img { border: 0; } .roll { width: 880px; height: 108px; margin: 50px auto 0; position: relative; } .btn_left { display: block; width: 68px; height: 68px; background: url(img/btn.jpg) no-repeat -70px -69px; position: absolute; top: 20px; left: 1px; z-index: 1; } .btn_left:hover { background: url(img/btn.jpg) no-repeat -70px 0; } .btn_right { display: block; width: 68px; height: 68px; background: url(img/btn.jpg) no-repeat 1px -69px; position: absolute; top: 20px; right: 0; z-index: 1; } .btn_right:hover { background: url(img/btn.jpg) no-repeat 1px 0; } .roll .wrap { width: 728px; height: 108px; margin: 0 auto; position: relative; overflow: hidden; } .roll ul { position: absolute; top: 0; left: 0; } .roll li { float: left; width: 182px; height: 108px; text-align: center; } .roll li a:hover { position: relative; top: 2px; } .control { border-bottom: 1px solid #ccc; background: #eee; text-align: center; padding: 20px 0; } JavaScript代码 window.onload = function() { var oDiv = document.getElementById('roll'); var oUl = oDiv.getElementsByTagName('ul')[0]; var aLi = oUl.getElementsByTagName('li'); var oBtn = oDiv.getElementsByTagName('a'); //获取按钮 oUl.innerHTML += oUl.innerHTML; oUl.style.width = aLi[0].offsetWidth * aLi.length + 'px'; var speed = -5; var time = null; time = setInterval(function() { oUl.style.left = oUl.offsetLeft + speed + 'px'; //alert(oUl.offsetWidth)//-728 //alert(oUl.offsetLeft)//-5 if(oUl.offsetLeft < -oUl.offsetWidth / 2) { oUl.style.left = 0 + 'px'; } else if(oUl.offsetLeft > 0) { oUl.style.left = -oUl.offsetWidth / 2 + 'px'; } }, 30); oBtn[0].onmouseover = function() { speed = -5; }; oBtn[1].onmouseover = function() { speed = 5; }; oUl.onmouseover = function() { clearInterval(time); } oUl.onmouseout = function() { time = setInterval(function() { oUl.style.left = oUl.offsetLeft + speed + 'px'; if(oUl.offsetLeft < -oUl.offsetWidth / 2) { oUl.style.left = 0 + 'px'; } else if(oUl.offsetLeft > 0) { oUl.style.left = -oUl.offsetWidth / 2 + 'px'; }; }, 30); } }; 图片素材分享: 作者: 杨校 出处:http://blog.csdn.net/kese7952 分享是快乐的,也见证了个人成长历程,文章大多都是工作经验总结以及平时学习积累,基于自身认知不足之处在所难免,也请大家指正,共同进步。 本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 如有问题, 可邮件(397583050@qq.com)咨询。

优秀的个人博客,低调大师

自动创建的a标签并使用js点击,在Andorid端好用但在IOS端不好用

先上出现问题的代码: HTML: <div class="info_content txt-item" onclick="selectInfoById(this)"> JS: function selectInfoById(this_) { var uid = $(this_).siblings("input[name=uid]").val(); var url = "/mobile/queryInfoById?uid="+uid; var elementById = document.getElementById("jumphiddenDiv"); var aElement = document.createElement("a"); aElement.setAttribute("id","createa"); aElement.setAttribute("href",url); aElement.setAttribute("data-no-cache","true"); elementById.appendChild(aElement); jQuery("#createa")[0].click(); aElement.remove(); } 稍微解释下,这里在点击之后再remove可能有的人会有疑问,既然跳转了为啥还要remove。这是因为我这里使用了sui的路由功能,跳转之后缓存资源不刷新。 这段代码在ios端不能正常运行报一个这样的错误: 'undefined' is not a function evaluating XX.click() in Safari 这就尴尬了,赶紧上网查,查到这个东西: https://stackoverflow.com/questions/12744202/undefined-is-not-a-function-evaluating-el-click-in-safari# 虽然没有完全看懂,但是也明白个大概齐:他说:“ the click() function is only defined for HTMLInputElement” 并给出了改进意见,根据他的改进意见作出如下改动: JS: function selectInfoById(this_) { var uid = $(this_).siblings("input[name=uid]").val(); var url = "/mobile/queryInfoById?uid="+uid; var elementById = document.getElementById("jumphiddenDiv"); var aElement = document.createElement("a"); aElement.setAttribute("id","createa"); aElement.setAttribute("href",url); aElement.setAttribute("data-no-cache","true"); elementById.appendChild(aElement); //jQuery("#createa")[0].click(); // First create an event var click_ev = document.createEvent("MouseEvents"); // initialize the event click_ev.initEvent("click", true /* bubble */, true /* cancelable */); // trigger the event document.getElementById("createa").dispatchEvent(click_ev); aElement.remove(); }然而并不好使,起初我是怀疑这个改动不对,但是后来发现不是这样的,在IOS里click的鼠标事件应该有touchstart,touchmove、touchend等触摸事件或者他们的高级事件来触发点击屏幕这个事件。所以我又作出如下改动: HTML:改动 <div class="info_content txt-item" onclick="selectInfoById(this)" ontouchstart = "myTouchStart(this)" ontouchend = "myTouchEnd(this)" ontouchmove="myTouchMove(this)"> JS:添加 var xtarget = ""; function myTouchStart(this_) { var e = window.event; xtarget = e.clientX; } function myTouchEnd(this_) { var e = window.event; if(e.clientX ==xtarget){ selectInfoById(this_); xtarget=""; }else{ xtarget=""; } } function myTouchMove(this_) { xtarget=""; } 这些方法写的非常初级,仅供思路参考,表喷我哦。这里加三个方法在html上,主要是为了规避由于路由问题从别的界面切换过来的时候,事件绑定不上的问题。 引用资料(非常感谢): https://www.cnblogs.com/irelands/p/3433628.html http://www.cnblogs.com/dolphinX/archive/2012/10/09/2717119.html https://www.cnblogs.com/fengfan/p/4506555.html http://blog.csdn.net/jiangcs520/article/details/17564065

优秀的个人博客,低调大师

EF架构——code first开发中,在修改实体时,自动影响到数据表上

EF领域由code first,data first和model first三种模式,目前对于小型项目开发用code first就可以,操作灵活。 使用code first模式时,如果当实体添加、修改后,如果希望直接反映到数据表上,需要做一些设置; 比如,添加了一个userbase类型,希望把它反映到数据表上,我们可以这样做: public class DataContext : DbContext, IDataContext { public DataContext() : base(DataContext.GetCS()) { InitDbSets(); } public IDbSet<Category> Categorys { get; private set; } private void InitDbSets() { UserBases = this.Set<UserBase>(); Init(); } public static void SetInitializer(InitializerTypes InitType) { switch (InitType) { case InitializerTypes.Standard: Database.SetInitializer(new StandardInitializer()); break; case InitializerTypes.ReCreateAlWays: Database.SetInitializer(new ReCreateInitializer()); break; case InitializerTypes.ReCreateByModify: Database.SetInitializer(new ReCreateWhenModifiedInitializer()); break; default: break; } } /// <summary> /// DBContext初始化 /// </summary> public static void Init() { Database.DefaultConnectionFactory = new SqlConnectionFactory(); if (System.Diagnostics.Debugger.IsAttached) { DataContext.SetInitializer(DataContext.InitializerTypes.ReCreateByModify); } else { DataContext.SetInitializer(DataContext.InitializerTypes.Standard); } } } ,如需转载请自行联系原博主。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册