手风琴效果和滑动条

由于本周开始编写 宝石迷阵这款益智游戏,其中涉及到的两个效果我觉得很有趣。

  1. 手风琴:点击一级餐单,二级菜单动态弹出;再次点击一级菜单,二级菜单缩回;

实现方法如下:

首先,用CSS和HTML规划9个框,其中第1、4、7个相对大一点,作为我们的一级餐单。其他尺寸小的就用来做二级餐单。

其次,再每个一级菜单中嵌入一个A标签,改标签引用一个能够让我们达到效果的函数。

以下是我的函数,有点搓,但是有效果

var clickno = 1;        //这个是标记变量,干嘛的呢,当标记为-1时,说第一次点击,我收缩或者展开,每次点击完自动乘以-1
   function shorter(){  
        if(clickno >0){    //收缩函数
      var makeshort = setInterval(function(){
      var temphigh = parseInt($(‘cp‘).offsetHeight);
          $(‘cp‘).style.height = temphigh-2+‘px‘;
          $(‘pc‘).style.height = temphigh-2+‘px‘;
          $(‘males‘).style.height = temphigh-2+‘px‘;
          $(‘femaleb‘).style.height = temphigh-2+‘px‘;
          $(‘day‘).style.height = temphigh-2+‘px‘;
          $(‘mant‘).style.height = temphigh-2+‘px‘;
          if(temphigh == 0 ){
              clickno*=-1;    //当二级菜单收缩到最小时,标记变量为负,那么下次点击时因为是-1,则执行展开函数
              clearInterval(makeshort);//不可能永远收缩下去,所以二级菜单高度为0时结束收缩
          }
       },25)
        }

if(clickno <0){              //展开函数
       var makelong =  setInterval(function(){
           var temphigh2 = parseInt($(‘cp‘).offsetHeight);
           $(‘cp‘).style.height = temphigh2+2+‘px‘;
           $(‘pc‘).style.height = temphigh2+2+‘px‘;
           $(‘males‘).style.height = temphigh2+2+‘px‘;
           $(‘femaleb‘).style.height = temphigh2+2+‘px‘;
           $(‘day‘).style.height = temphigh2+2+‘px‘;
           $(‘mant‘).style.height = temphigh2+2+‘px‘;
           if(temphigh2 == 30 ){
               clickno*=-1;   //当二级菜单展开到最大时,标记变量为正,那么下次点击时因为是+1,则执行展收缩函数
               clearInterval(makelong);  //不可能永远展开下去,所以二级菜单高度为0时结束展开

},25)
       }

}

再次强调,有点搓,but有效果,呵呵!

2. 滑动条效果:随着时间推移,框中的颜色像水一样上涨并直至填充完整个外框,同时上边有个小标签跟着走;

首先,用HTML和CSS画出以上效果,什么?不会画三角形。设置和没高宽,粗边框、三边透明的DIV就完事了撒。

其次,再次在按钮A标签中植入JS函数,;

以下还是我比较搓的代码:

var marker =1;     //标记变量,用来区分是暂停还是继续
    $(‘movetips‘).style.marginLeft = 0;
    function timing(){  //利用marginleft的属性随时间增加的方式让填充条变宽
     var moveab = setInterval(function(){
         var tempwidth = parseInt($(‘fill‘).offsetWidth);
         $(‘fill‘).style.width =tempwidth+1+‘px‘;
         $(‘movetips‘).style.marginLeft = parseInt($(‘movetips‘).style.marginLeft)+1+‘px‘; //小标签跟着走
         var showtimes =parseInt((1- (parseInt($(‘movetips‘).style.marginLeft)/600))*60); //填充条走
         $(‘time‘).innerHTML =‘<p>‘+showtimes+‘&nbsp;S</p>‘;  //小标签中的剩余时间显示
//         console.log($(‘movetips‘).style.width)
         if(tempwidth >= 600 || marker == 1){  //小机关:当填充条满了,或者标记变量为1时歇歇
             clearInterval(moveab)     //填充条走满了就该歇歇了
         }
     },100)
    }

function go(){     //嵌在按钮A标签中的函数
        marker*=-1; //整个干嘛的,我按钮一次就取反一次,负的继续走,正的歇歇;
        timing()
    }

我的这两个效果的共同点是:都放了一个标记变量用来判断是停还是走。代码体极其粗糙,but基本逻辑不粗糙。

手风琴效果和滑动条

时间: 2024-10-09 19:52:35

手风琴效果和滑动条的相关文章

基于 jQuery 实现垂直滑动的手风琴效果

今天我们要与大家分享一个漂亮而灵活的垂直 jQuery 手风琴效果.其主要思想是扩大手风琴片上的点击和显示更多的信息.其他内容片段将变得不那么透明.当使用一个导航箭头导航下一个片段,新的片会从顶部或底部滑动. 效果演示     插件下载 HTML 示例代码: <div id="va-accordion" class="va-container"> <div class="va-nav"> <span class=&q

滑动条效果

准备将自己做的滑动条效果都放在这篇博文下. 自己的第一个成果 css body{ background: black; } #slider_1{ width: 400px; height: 2px; border-radius: 1px; display: -webkit-flex; position: relative; margin: 30px auto; } #oSlider{ width: 15px; height: 15px; position: absolute; border: 1

使用OpenCV滑动条写成的简单调色器,实时输出RGB值

好久没有写博客了,最近在看OpenCV,于是动手写了个简单的RGB调色器,在终端实时输出RGB的值.通过这个程序学习滑动条的使用.程序中主要用到cvCreateTrackbar ,其用法如下: cvCreateTrackbar 创建trackbar并将它添加到指定的窗口. CV_EXTERN_C_FUNCPTR( void (*CvTrackbarCallback)(int pos) ); int cvCreateTrackbar( const char* trackbar_name, cons

【JavaScript吉光片羽】--- 滑动条

灯光的亮度控制需要一个滑动条,先借用lamp源码中Bar: var Bar = function (opt) { var defaults = { $id: "", // 进度条dom节点id min: 1, // 刻度最小值 stepCount: 5, // 刻度步数 step: 1, // 刻度步长 $alpha: "",//显示亮度的id touchEnd: function () { } // 拖动完成回调 }; this.option = $.extend

基于css3实现手风琴效果

终于在凌晨一点钟逼迫自己写博客.一直想记录自己的前端工程师之路,但毕竟拖延症晚期.因为第一篇随笔,所以多写一点废话吧.刚刚从学校毕业,放弃了一直学习的java,而想从事前端的工作.第一是觉得osgi这类的java框架实在太过笨重和繁琐,也许是真的好用,但也觉得真心不适合我.然后么,也许有点俗,前端真的能做很多华丽花哨的东西出来.到现在也工作一个月了,工资不高,老板不好,但社会毕竟不会总让人满意,没人有手把手教你成大神的话,只能自己努力了.也许会有很多弯路,但做技术的嘛,有磨练总是好事. 对于我个

10几款网页图片手风琴效果代码

简单的jquery手风琴插件带标题的水平手风琴图片轮换代码 jQuery CSS3水平滑动手风琴文字图片切换特效代码 jquery水平滑动手风琴菜单鼠标点击图片展示手风琴菜单代码 jquery手风琴相册幻灯片图片横向滚动展开收缩代码 jquery手风琴菜单制作横向菜单切换手风琴效果代码 jquery动漫人物网的横向手风琴切换效果 jquery水平手风琴鼠标滑过图片标题水平滑动切换 jquery 水平手风琴鼠标滑过标题图片滑动切换 原生js水平手风琴弹性相册图片展示 jQuery的简易手风琴插件_

unity之 利用NGUI的滑动条来动态更改摄像机与物体的距离

终于弄出来了,现在想想以前的办法笨归笨,但是没有笨的,我也想不到这个方法,也许还有更好的,代码可能繁琐了,可以简化,但是思路没问题 先上代码吧 public GameObject cube; public GameObject bar; float oldValue; void Start() { oldValue = bar.GetComponent<UISlider>().value; } public void ChangeValue() { float newValue = bar.G

android-scroll 滑动条风格调整

<item name="scrollbarFadeDuration">250</item> <item name="scrollbarDefaultDelayBeforeFade">300</item> <!--修改滑动条宽度--> <item name="scrollbarSize">10dip</item> <item name="scroll

Android模仿三星手机系统滑动条滑动时滑块变大的特效

使用三星手机的过程中发现三星手机系统自带的滑动条有一个特效,比如调节亮度的滑动条,在滑动滑块的过程中,滑块会变大,功能很小但是体验却很好,于是决定做一个这样的效果出来,好了废话不多说了,下面开始实现 我们知道在SeekBar控件中有两个很重要的属性,一个是进度条(即android:progressDrawable属性),一个是滑块(即android:thumb属性),我们主要用到的是滑块的特效,这里就把进度条的配置稍微的介绍一下,先上代码: 在res/xml文件夹下创建seekbar_progr