前段代码:

  1. <div id="out" style=" width:400px;overflow:hidden;">
  2. <div id="int" style="white-space:nowrap;width:800px;">
  3. <asp:Label ID="lblTable" runat="server" Text="Label"></asp:Label>
  4. </div>
  5. </div>
  6. <label onmousedown="marqueeById('l'),ShowLbl('lblRight')" id="lblLeft" onmouseup="marqueeStop()" style="visibility: hidden">&lt;&lt;&lt;&lt;</label>
  1. <label onmousedown="marqueeById('r'),ShowLbl('lblLeft')" id="lblRight" onmouseup="marqueeStop()" style="visibility: hidden">&gt;&gt;&gt;&gt;</label>

注意:内层div宽度大于外层div,宽度的设定不仅局限于实际像素,也可使用百分比;js指向的的是外层div。外层div内部元素超出部分隐藏overflow:hidden,内层div的text不允许换行white-space:nowrap

后台:

  1. protected void Page_Load(object sender, EventArgs e)
  2. {
  3. ShowMenu();
  4. }
  5. private void ShowMenu(int m)
  6. {
  7. string strTable = "";
  8. for (int i = ; i <= m; i++)
  9. {
  10. strTable += "<a href=\"# \" class=\"nav\" ><span>" + i + "</span></a>";
  11. }
  12. lblTable.Text = strTable;
  13. }

注意:自动生成的菜单栏;

JavaScript:

  1. var speed = 10; //数字越大速度越慢
  2. var getMoveId = document.getElementById("out"); //需要移动的控件ID
  3. var getIntId = document.getElementById("int");
  4. var getLeftId = document.getElementById("lblLeft");
  5. var getRightId = document.getElementById("lblRight");
  6. var myMark; //开关标记
  7. function marqueeById(direction) {
  8. direction == "r" ? moveRight() : moveLeft();
  9. }
  10. function marqueeStop() {
  11. clearInterval(myMark);
  12. if (getMoveId.scrollLeft == 0) {
  13. getLeftId.style.visibility = "hidden";
  14. }
  15. if (getMoveId.scrollLeft == (getIntId.offsetWidth - getMoveId.offsetWidth)) {
  16. getRightId.style.visibility = "hidden";
  17. }
  18. }
  19. function moveRight() {
  20. myMark = setInterval(function () { getMoveId.scrollLeft++ }, speed);
  21. }
  22. function moveLeft() {
  23. myMark = setInterval(function () { getMoveId.scrollLeft-- }, speed);
  24. }
  25. function ShowLbl(id) {
  26. var imgid = document.getElementById(id);
  27. if (imgid.style.visibility == "hidden") {
  28. imgid.style.visibility = "visible";
  29. }
  30. }
  31. function load() {
  32. if (getIntId.offsetWidth > getMoveId.offsetWidth) {
  33. getRightId.style.visibility = "visible";
  34. }
  35. }

效果展示:

点击右侧箭头:

点击左侧:

20150722---点击按钮使指定的控件可见部分平移(JS)的更多相关文章

  1. WPF解决按钮上被透明控件遮盖时无法点击问题

    原文:WPF解决按钮上被透明控件遮盖时无法点击问题 IsHitTestVisible="False" 在控件上设置如上属性即可,即可让透明控件不触发点击效果

  2. <iOS小技巧>UIview指定设置控件圆角

      一.用法:   众所周知,设置控件的圆角使用layer.cornerRadius属性即可,但是这样设置成的结果是4个边角都是圆角类型.   利用班赛尔曲线画角:   //利用班赛尔曲线画角 UIB ...

  3. NX二次开发-Block UI C++界面Specify Point(指定点)控件的获取(持续补充)

    Specify Point(指定点)控件的获取 NX9+VS2012 #include <uf.h> #include <uf_ui.h> UF_initialize(); / ...

  4. VC++ 如何在显示对话框的时候,指定焦点控件!

    很简单: 在你的CAddDlg类的OnInitDialog函数中加上你上面的代码GetDlgItem(IDC_EDIT1)->SetFocus();最后记得return FALSE; 其实,不知 ...

  5. MVVMLight 实现指定Frame控件的导航

    原文:MVVMLight 实现指定Frame控件的导航 在UWP开发中,利用汉堡菜单实现导航是常见的方法.汉堡菜单导航一般都需要新建一个Frame控件,并对其进行导航,但是在MvvmLight框架默认 ...

  6. ADF控件ID变化引发JS无法定位控件的解决方法

    原文地址:ADF控件ID变化引发JS无法定位控件的解决方法作者:Nicholas JSFF定义的控件ID到了客户端时往往会改变.例如在JSFF中的一个的ID为"ot1",但是当这个 ...

  7. Winform 后台将指定的控件集合添加到制定容器中

    /// <summary> /// 把按钮按照行数分割排列 /// </summary> /// <param name="ControlArry"& ...

  8. C# 指定Webbrowser控件所用IE内核版本

    如果电脑上安装了IE8或者之后版本的IE浏览器,Webbrowser控件会使用IE7兼容模式来显示网页内容.解决方法是在注册表中为你的进程指定引用IE的版本号. 比如我的程序叫做a.exe,以64位机 ...

  9. PB打开ole控件IE浏览器版本问题_指定Webbrowser控件所用IE内核版本(转)

    如果电脑上安装了IE8或者之后版本的IE浏览器,Webbrowser控件会使用IE7兼容模式来显示网页内容.解决方法是在注册表中为你的进程指定引用IE的版本号. 比如我的程序叫做a.exe 对于32位 ...

随机推荐

  1. 微信小程序 Mustache语法详解

    最近微信小程序非常火,对于前端开发的程序员是个利好的消息,这里主要记录下微信小程序  Mustache语法. 小程序开发的wxml里,用到了Mustache语法.所以,非常有必要把Mustache研究 ...

  2. 广告URL

    讨厌的csdn 广告,百度搜索了一次,csdn cookie广告追了你好几年还有... 把下面的url 重定向127.0.0.1  ,只记录了百度广告,部分阿里的广告,其他还未记录 虽然也用Adblo ...

  3. SQL 常用语句(一)

    --SQL 语句为表添加字段并设置默认值 alter table TableName add ColumnName int --字段类型 not null --是否为空 --默认值 --SQL 语句为 ...

  4. http的Content-Encoding和Content-Type及服务器和客户端处理流程

    比如,A 给 B发送了一条信息:hello,首先,A要告诉B,我给你发的这条数据的类型,不同类型的数据,接收方的处理方式不一样,hello属于文本类型,所以Content-Type就要设置成 text ...

  5. 82-基于Xilinx Virtex-5LXT FPGA的四路光纤PCIE卡(4路光纤卡)

    基于Xilinx Virtex-5LXT FPGA的四路光纤PCIE卡(4路光纤卡) 1.板卡特点: 1)  主芯片采用Xilinx Virtex-5LXT FPGA. 前面板提供4路光纤接口,速率可 ...

  6. 2、Jmeter测试

    一.测试流程 1.添加本次测试计划 (右键-->添加-->Threads(Users)-->线程组) 2.设置线程数 (所谓线程数就是并发用户数) 3.在线程组内添加请求(右键--& ...

  7. ES基本原理

    Elasticsearch是基于一款高性能的.可扩展的信息检索工具库Lucene构建的强大的搜索引擎,在很多情况,它也被作为NoSql数据库并取得了很好的效果,下面介绍下ES的基本概念,映射到数据库的 ...

  8. [CF] E. Camels

    CF 2000 的dp题目还是有点难qwq 题意: 一行有\(n\)个空位,每个空位可以填\([1,4]\)的整数,要求: 1.有\(t\)个位置满足 \(ai−1<ai>ai+1(1&l ...

  9. [python 学习] logging模块

    1.将简单日志打印到屏幕: import logging logging.debug('debug message') logging.info('info message') logging.war ...

  10. Integer类的缓存机制

    一.Integer类的缓存机制 我们查看Integer的源码,就会发现里面有个静态内部类. public static Integer valueOf(int i) { assert IntegerC ...