当前位置:网站首页 > 资讯中心 > IT技术 >
支持dx12的显卡有哪些?支持DX12显卡列表
发布日期:2017-07-05 所属分类:IT技术
;

   无缝循环marquee滚动JS代码实现,兼容IE, FireFox, Chrome,供大家参考,具体内容如下

  首先是CSS和HTML如下:

  #marquee_zxd {

  border: 1px solid red;

  white-space: nowrap;

  overflow: hidden;

  width: 500px;

  padding-top: 5px;

  }

  #marquee_zxd img {

  height: 100px;

  }

  下面是JS实现marquee_zxd.js:

  /**除了Chrome以外的浏览器可以通过scrollLeft属性控制滚动*/

  function scrolleft(obj){

  var $obj = $(obj);

  //到右边顶端后不会再变

  //var temp = obj.scrollLeft;

  //obj.scrollLeft++;

  var temp = $obj.scrollLeft();

  //console.log(temp);

  $obj.scrollLeft(temp+1);

  //当滚动条到达右边顶端时;或本身长度不够不好滚动(漫出才好滚)

  //if(obj.scrollLeft == temp){

  if($obj.scrollLeft() == temp){

  obj.innerHTML += obj.innerHTML;

  console.log('copy');

  }

  //当滚动条滚动了初始内容的宽度时,滚动条回到最左端,模拟循环

  //if (obj.scrollLeft >= obj.firstChild.offsetWidth)

  // obj.scrollLeft = 0;

  if ($obj.scrollLeft() >= obj.firstChild.offsetWidth)

  $obj.scrollLeft(0);

  }

  /**除了Chrome以外的浏览器可以通过scrolleft()滚动*/

  function initMarquee(){

  var aaa = document.getElementById('marquee_zxd');

  var MyMar = setInterval(function(){

  scrolleft(aaa);

  }, 20);

  //鼠标移上时清除定时器达到滚动停止的目的

  aaa.onmouseover=function() {clearInterval(MyMar);};

  //鼠标移开时重设定时器

  aaa.onmouseout=function() {MyMar = setInterval(function(){

  scrolleft(aaa);

  }, 20);};

  }

  /**Chrome定时器循环函数,通过relative布局的left属性控制滚动*/

  function scrolleftChrome($marquee_inner, inner_width){

  var width = parseInt(inner_width);

  var leftPx = $marquee_inner.css("left");

  //兼容IE

  if(leftPx == 'auto')

  leftPx = 0;

  //位置左移

  var left = parseInt(leftPx);

  left = left - 1;

  //到顶归位

  if(left <= -width)

  left = 0;

  $marquee_inner.css("left", left);

  //console.log(width + ", " + left);

  }

  /**Chrome浏览器可以通过scrolleftChrome滚动*/

  function initMarqueeChrome() {

  //局部变量不污染全局变量空间

  var $marquee_inner = $('#marquee_inner');

  //原内容大小

  var inner_width = $marquee_inner.css('width');

  //复制一份原内容

  var innerHtml = $marquee_inner.html();

  $marquee_inner.html(innerHtml + innerHtml);

  console.log(inner_width);

  //参数采用字符串形式的缺陷:参数不能被周期性改变,参数必须是全局变量

  //var MyMar = setInterval("scrolleftChrome($marquee_inner, inner_width)", 5000);

  var MyMar = setInterval(function(){

  //参数不污染全局变量空间

  scrolleftChrome($marquee_inner, inner_width);

  }, 50);

  var marquee_zxd = document.getElementById('marquee_zxd');

  //鼠标移上时清除定时器达到滚动停止的目的

  marquee_zxd.onmouseover=function() {clearInterval(MyMar);};

  //鼠标移开时重设定时器

  marquee_zxd.onmouseout=function() {

  //参数采用字符串形式的缺陷:参数不能被周期性改变,参数必须是全局变量

  //MyMar = setInterval("scrolleftChrome($marquee_inner, inner_width)", 50);

  MyMar = setInterval(function(){

  //参数不污染全局变量空间

  scrolleftChrome($marquee_inner, inner_width);

  }, 50);

  };

  }

  $(function(){

  var ua = window.navigator.userAgent;

  var isIE = window.ActiveXObject != undefined && ua.indexOf("MSIE") != -1;

  var isFirefox = ua.indexOf("Firefox") != -1;

  var isChrome = ua.indexOf("Chrome") && window.chrome;

  if(isChrome){

  initMarqueeChrome();

  console.log("isChrome: initMarqueeChrome");

  }else{

  initMarquee();

  console.log("isChrome: initMarquee");

  }

  });

  以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

  您可能感兴趣的文章:

  JS与HTML结合使用marquee标签实现无缝滚动效果代码

  JQuery插件Marquee.js实现无缝滚动效果

  div+css+js实现无缝滚动类似marquee无缝滚动兼容firefox

  分别用marquee和div+js实现首尾相连循环滚动效果,仅3行代码

  js实现的类marquee水平循环滚动

  javascript 模拟Marquee文字向左均匀滚动代码

  本文介绍的关于node.js中间件express-session的相关内容,分享出来供大家从参考学习,下面来一起看看详细的介绍:

  一、为什么使用session?

  session运行在服务器端,当客户端第一次访问服务器时,可以将客户的登录信息保存。

  当客户访问其他页面时,可以判断客户的登录状态,做出提示,相当于登录拦截。

  session可以和Redis或者数据库等结合做持久化操作,当服务器挂掉时也不会导致某些客户信息(购物车)丢失。

  二、session的工作流程:

  当浏览器访问服务器并发送第一次请求时,服务器端会创建一个session对象,生成一个类似于key,value的键值对, 然后将key(cookie)返回到浏览器(客户)端,浏览器下次再访问时,携带key(cookie),找到对应的session(value) 。 客户的信息都保存在session中。

  三、express-session的常用参数:

  secret:一个String类型的字符串,作为服务器端生成session的签名。

  name:返回客户端的key的名称,默认为connect.sid,也可以自己设置。

  resave:(是否允许)当客户端并行发送多个请求时,其中一个请求在另一个请求结束时对session进行修改覆盖并保存。

  默认为true。但是(后续版本)有可能默认失效,所以最好手动添加。

  saveUninitialized:初始化session时是否保存到存储。默认为true, 但是(后续版本)有可能默认失效,所以最好手动添加。

  cookie:设置返回到前端key的属性,默认值为{ path: ‘/', httpOnly: true, secure: false, maxAge: null } 。

  express-session的一些方法:

  Session.destroy() :删除session,当检测到客户端关闭时调用。

  Session.reload() :当session有修改时,刷新session。

  Session.regenerate() :将已有session初始化。

  Session.save() :保存session。

  四、示例demo

  //app.js中添加如下代码(已有的不用添加)

  var express = require('express');

  var cookieParser = require('cookie-parser');

  var session = require('express-session');

  app.use(cookieParser('sessiontest'));

  app.use(session({

  secret: 'sessiontest',//与cookieParser中的一致

  resave: true,

  saveUninitialized:true

  }));

  //修改router/index.js,第一次请求时我们保存一条用户信息。

  router.get('/', function(req, res, next) {

  var user={

  name:"Chen-xy",

  age:"22",

  address:"bj"

  }

  req.session.user=user;

  res.render('index', {

  title: 'the test for nodejs session' ,

  name:'sessiontest'

  });

  });

  //修改router/users.js,判断用户是否登陆。

  router.get('/', function(req, res, next) {

  if(req.session.user){

  var user=req.session.user;

  var name=user.name;

  res.send('你好'+name+',欢迎来到我的家园。');

  }else{

  res.send('你还没有登录,先登录下再试试!');

  }

  });

  Class Of Marquee Scroll通用不间断滚动JS封装类

  用javascript实现代替marquee的滚动字幕效果代码

  用javascript代替marquee的滚动字幕效果代码

  再次更新!MSClass (Class Of Marquee Scroll通用不间断滚动JS封装类 Ver 1.6)


本文章地址http://www.vzeo.com/news/xuetang/800837.html 由   友站网 编辑整理,转载请注明出处
推荐资讯