>>分享Web前端开发技术,并对孙卫琴的《精通Vue.js:Web前端开发技术详解》提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 26102 个阅读者 刷新本主题
 * 贴子主题:  jQuery U范例:定位(Position) 回复文章 点赞(0)  收藏  
作者:flybird    发表时间:2019-08-18 20:03:02     消息  查看  搜索  好友  邮件  复制  引用

  

jQuery UI 范例 -  定位(Position)

         相对窗口、文档、锚、光标/鼠标等元素定位一个元素。        

默认功能

        使用表单控件配置位置,或者拖拽被定位的元素来修改它的偏移量。向四周拖拽父元素来查看碰撞检测。


<!doctype html>

<html lang="en">

<head>

  <meta charset="utf-8">

  <title>jQuery UI 定位(Position) - 默认功能</title>

  <link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">

  <script src="//code.jquery.com/jquery-1.9.1.js"></script>

  <script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>

  <link rel="stylesheet" href="http://jqueryui.com/resources/demos/style.css">

  <style>

  #parent {

    width: 60%;

    height: 40px;

    margin: 10px auto;

    padding: 5px;

    border: 1px solid #777;

    background-color: #fbca93;

    text-align: center;

  }

  .positionable {

    position: absolute;

    display: block;

    right: 0;

    bottom: 0;

    background-color: #bcd5e6;

    text-align: center;

  }

  #positionable1 {

    width: 75px;

    height: 75px;

  }

  #positionable2 {

    width: 120px;

    height: 40px;

  }

  select, input {

    margin-left: 15px;

  }

  </style>

  <script>

  $(function() {

    function position() {

      $( ".positionable" ).position({

        of: $( "#parent" ),

        my: $( "#my_horizontal" ).val() + " " + $( "#my_vertical" ).val(),

        at: $( "#at_horizontal" ).val() + " " + $( "#at_vertical" ).val(),

        collision: $( "#collision_horizontal" ).val() + " " + $( "#collision_vertical" ).val()

      });

    }

             $( ".positionable" ).css( "opacity", 0.5 );

             $( "select, input" ).bind( "click keyup change", position );

             $( "#parent" ).draggable({

      drag: position

    });

             position();

  });

  </script>

</head>

<body>

  <div id="parent">

  <p>

  这是父元素的位置。

  </p>

</div>

<div class="positionable" id="positionable1">

  <p>

  to position

  </p>

</div>

<div class="positionable" id="positionable2">

  <p>

  to position 2

  </p>

</div>

<div style="padding: 20px; margin-top: 75px;">

  定位...

  <div style="padding-bottom: 20px;">

    <b>my:</b>

    <select id="my_horizontal">

      <option value="left">left</option>

      <option value="center">center</option>

      <option value="right">right</option>

    </select>

    <select id="my_vertical">

      <option value="top">top</option>

      <option value="center">center</option>

      <option value="bottom">bottom</option>

    </select>

  </div>

  <div style="padding-bottom: 20px;">

    <b>at:</b>

    <select id="at_horizontal">

      <option value="left">left</option>

      <option value="center">center</option>

      <option value="right">right</option>

    </select>

    <select id="at_vertical">

      <option value="top">top</option>

      <option value="center">center</option>

      <option value="bottom">bottom</option>

    </select>

  </div>

  <div style="padding-bottom: 20px;">

    <b>collision:</b>

    <select id="collision_horizontal">

      <option value="flip">flip</option>

      <option value="fit">fit</option>

      <option value="flipfit">flipfit</option>

      <option value="none">none</option>

    </select>

    <select id="collision_vertical">

      <option value="flip">flip</option>

      <option value="fit">fit</option>

      <option value="flipfit">flipfit</option>

      <option value="none">none</option>

    </select>

  </div>

</div>

</body>

</html>

图像循环

     一个照片浏览器的原型,使用 Position 分别把图片定为在左边、中间、右边,然后循环显示。使用顶部的链接来循环图像,或者在图像的左侧或右侧点击来循环图像。请注意,当调整窗口大小时,会重新定位图像。


<!doctype html>

<html lang="en">

<head>

  <meta charset="utf-8">

  <title>jQuery UI 定位(Position) - 图像循环</title>

  <link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">

  <script src="//code.jquery.com/jquery-1.9.1.js"></script>

  <script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>

  <link rel="stylesheet" href="http://jqueryui.com/resources/demos/style.css">

  <style>

  body {

    margin: 0;

  }

  #container {

    overflow: hidden;

    position: relative;

    height: 400px;

  }

  img {

    position: absolute;

  }

  </style>

  <script>

  $(function() {

    // 重构部件,去除这些插件方法

    $.fn.left = function( using ) {

      return this.position({

        my: "right middle",

        at: "left+25 middle",

        of: "#container",

        collision: "none",

        using: using

      });

    };

    $.fn.right = function( using ) {

      return this.position({

        my: "left middle",

        at: "right-25 middle",

        of: "#container",

        collision: "none",

        using: using

      });

    };

    $.fn.center = function( using ) {

      return this.position({

        my: "center middle",

        at: "center middle",

        of: "#container",

        using: using

      });

    };

    $( "img:eq(0)" ).left();

    $( "img:eq(1)" ).center();

    $( "img:eq(2)" ).right();

             function animate( to ) {

      $( this ).stop( true, false ).animate( to );

    }

    function next( event ) {

      event.preventDefault();

      $( "img:eq(2)" ).center( animate );

      $( "img:eq(1)" ).left( animate );

      $( "img:eq(0)" ).right().appendTo( "#container" );

    }

    function previous( event ) {

      event.preventDefault();

      $( "img:eq(0)" ).center( animate );

      $( "img:eq(1)" ).right( animate );

      $( "img:eq(2)" ).left().prependTo( "#container" );

    }

    $( "#previous" ).click( previous );

    $( "#next" ).click( next );

             $( "img" ).click(function( event ) {

      $( "img" ).index( this ) === 0 ? previous( event ) : next( event );

    });

      $( window ).resize(function() {

      $( "img:eq(0)" ).left( animate );

      $( "img:eq(1)" ).center( animate );

      $( "img:eq(2)" ).right( animate );

    });

  });

  </script>

</head>

<body>

   <div id="container">

  <img src="/wp-content/uploads/2014/03/earth.jpg" width="458" height="308" alt="earth">

  <img src="/wp-content/uploads/2014/03/flight.jpg" width="512" height="307" alt="flight">

  <img src="/wp-content/uploads/2014/03/rocket.jpg" width="300" height="353" alt="rocket">

  <a id="previous" href="#">上一个</a>

  <a id="next" href="#">下一个</a>

</div>

</body>

</html>

程序猿的技术大观园:www.javathinker.net



[这个贴子最后由 flybird 在 2020-02-14 08:35:19 重新编辑]
  Java面向对象编程-->Swing组件(上)
  JavaWeb开发-->JavaWeb应用入门(Ⅱ)
  JSP与Hibernate开发-->数据库事务的并发问题的解决方案
  Java网络编程-->用Axis发布Web服务
  精通Spring-->虚拟DOM和render()函数
  Vue3开发-->通过Vuex进行状态管理
  web前端工程师面试题的知识考点盘总
  介绍axios的基本使用(vue中使用axios)
  拯救React的hooks:react的问题和hooks的作用
  vue实现Word或Excel文档导出的功能,转换文件名乱码或者json...
  vue 项目导出word格式文件
  H5定位终极解决方案
  HTML DOM Li 对象
  响应式 Web 设计:网格视图
  CSS 盒子模型
  HTML标签的全局属性
  JavaScript 函数参数
  JavaScript HTML DOM 节点列表
  JavaScript 调试
  JavaScript基础入门
  jQuery Mobile 事件
  更多...
 IPIP: 已设置保密
楼主      
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。