本文介绍: Vue.js 和 jQuery 都是前端开发中常用的 JavaScript 库,但它们有着不同的特点和用途。

Vue.js 和 jQuery 都是前端开发中常用的 JavaScript 库,但它们有着不同的特点和用途。

下面是 Vue.js 和 jQuery比较

  1. 响应式:Vue.js一个响应框架,它可以响应数据的变化,自动更新视图。而 jQuery 是一种 DOM 操作库,需要手动操作 DOM 元素
  2. 组件化:Vue.js 支持组件开发可以一个页面拆分多个组件进行开发和维护。而 jQuery 没有明确的组件化概念开发和维护较为繁琐。
  3. 插件机制:Vue.js 提供了插件机制可以方便地扩展功能。而 jQuery 也有丰富的插件库,但是后期维护较为困难。
  4. 数据流:在 Vue.js 中,通过父子组件之间的 props事件传递数据可以实现组件之间的数据流。而 jQuery 操作数据较为独立,组件之间数据流难以管理
  5. 模板语法:Vue.js 提供了模板语法使用简单且直观。而 jQuery 操作 DOM 元素方式比较繁琐,需要手动操作。

总的来说,Vue.js 更适合大型复杂单页应用程序开发,而 jQuery 则更适合简单交互效果和常规的 DOM 操作。

3181.jpg

以下是一个简单的 jQuery 开发案例包含代码解释

案例名称图片放大镜效果

案例效果鼠标移入图片图片放大镜效果展现。

案例代码:

HTML 代码:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>图片放大镜效果</title>
  <style>
    .wrapper {
      width: 600px;
      margin: 0 auto;
      position: relative;
    }
    .small {
      width: 200px;
      height: 200px;
      overflow: hidden;
      margin: 50px 0;
      border: 2px solid #ccc;
      float: left;
    }
    .small img {
      width: 100%;
    }
    .big {
      width: 300px;
      height: 300px;
      position: absolute;
      top: 0;
      left: 100%;
      margin-left: 20px;
      border: 2px solid #ccc;
      display: none;
    }
    .big img {
      width: 100%;
    }
  </style>
</head>
<body>
  <div class="wrapper">
    <div class="small">
      <img src="small.jpg" alt="图片">
      <div class="mark"></div>
    </div>
    <div class="big">
      <img src="big.jpg" alt="图片">
    </div>
  </div>
  <script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script>
  <script>
    $(function() {
      var mark = $('.mark'),
          small = $('.small'),
          big = $('.big'),
          bigImg = $('.big img'),
          smallImg = $('.small img');
      // 鼠标移入 small 区域显示 markbig
      small.on('mouseenter', function() {
        mark.show();
        big.show();
      });
      // 鼠标移出 small 区域隐藏 mark 和 big
      small.on('mouseleave', function() {
        mark.hide();
        big.hide();
      });
      // 鼠标移动,改变 mark 和 big 的位置内容
      small.on('mousemove', function(ev) {
        var left = ev.pageX - small.offset().left - mark.width() / 2,
            top = ev.pageY - small.offset().top - mark.height() / 2;
        if (left < 0) {
          left = 0;
        } else if (left > small.width() - mark.width()) {
          left = small.width() - mark.width();
        }
        if (top < 0) {
          top = 0;
        } else if (top > small.height() - mark.height()) {
          top = small.height() - mark.height();
        }
        mark.css({
          left: left + 'px',
          top: top + 'px'
        });
        bigImg.css({
          left: -left * bigImg.width() / small.width() + 'px',
          top: -top * bigImg.height() / small.height() + 'px'
        });
      });
    });
  </script>
</body>
</html>

案例详情解释

  1. HTML 代码中包含两个图片容器,其中一个是用来展示小图的,一个是用来展示大图的。在小图容器中加一透明鼠标跟随层,用于跟随鼠标移动实现放大效果的展现。
  2. 在 CSS 样式中,设置小图和大图容器样式,并设置鼠标跟随层和大图容器的初始状态隐藏
  3. 在 JavaScript 中,通过 jQuery 选择器获取鼠标跟随层、小图容器大图容器和对应图片元素。
  4. 给小图容器绑定鼠标移入事件,当鼠标移入小图容器时,显示鼠标跟随层和大图容器。
  5. 给小图容器绑定鼠标移出事件,当鼠标移出小图容器时,隐藏鼠标跟随层和大图容器。
  6. 给小图容器绑定鼠标移动事件,当鼠标在小图容器内移动时,跟随层将跟随鼠标移动,并更新大图区域图片位置,从而实现放大效果的变化。

原文地址:https://blog.csdn.net/cgithxk/article/details/129635388

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_28586.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注