如果您是免费赠品猎人,那么您可能已经下载了许多PSD 用户界面 (UI)。 其中一些确实很棒,可以通过原型设计来节省我们的时间。

在本文中,我们将对PSD UI进行编码,并将其转变为更具功能性的东西。 我们将编写以下PSD UI Slider的代码,以用作jQuery UI Slider主题。

但是, 请注意 ,本教程是针对中级经验的。 话虽如此,只要您对CSS和jQuery相当熟悉,它仍然相对容易理解。

好吧,现在开始吧。

步骤1:jQuery UI

显然,我们需要jQuery和jQuery UI Library ,我们有两个选择来利用它们。 首先,我们可以直接从以下CDN链接jQuery和jQuery UI: Google Ajax API CDN , Microsoft CDN和jQuery CDN ,当我们将网站置于在线状态时,使用托管CDN文件有很多优点。

但是,由于我们只能离线进行处理,因此我们将使用第二种方法。

我们将从官方下载页面下载并定制jQuery UI库。 因为我们只需要Slider插件 ,所以我们将只选择Slider库及其依赖项,并保留其他库。 这样,我们使用的文件将更苗条并且可以更快地加载。 之后,将所有这些库链接到HTML文档,确切地说,最好是在页面底部或在</body>标记之前。

<script src="js/jquery-1.7.2.min.js"></script>
<script src="js/jquery-ui-1.8.21.custom.min.js"></script>

步骤2:HTML标记

滑块的标记非常简单,我们将所有必要的标记(工具提示,滑块和音量)包装在HTML5 section标签中。 然后,jQuery UI将自动生成其余部分。

<section> <span class="tooltip"></span> <div id="slider"></div><span class="volume"></span>
</section>

步骤3:安装Slider UI

以下代码段将在页面上安装Slider,但仅适用于默认配置。

$(function() {$( "#slider" ).slider();
});

因此,这里我们将通过添加其他配置来稍微增强滑块。

首先,我们将滑块元素存储为变量。

var slider = $('#slider'),

然后,将滑块首次加载时的最小默认默认值设置为35左右。

slider.slider({range: "min",value: 35,
});

至此,我们在浏览器上什么都看不到,因为jQuery UI 基本上只生成标记 。 因此,我们需要应用一些样式来开始在浏览器上直观地看到结果。

步骤4:样式

在继续之前,我们需要PSD源文件中的一些资源,例如背景纹理和图标。

我们不会在本文中讨论如何切片 ,我们只关注代码。 如果不确定如何切片,请先观看以下截屏视频,然后再继续。

  • 将设计从PSD转换为HTML – Nettuts +

好吧,现在让我们开始添加样式。

我们将从将滑块放在浏览器窗口的中心开始,并将从PSD切出的背景附加到body

body {background: url('../images/bg.jpg') repeat top left;
}
section {width: 150px;height: auto;margin: 100px auto 0;position: relative;
}

接下来,我们将为工具提示音量手柄 ,滑块范围滑块本身应用样式。

从……开始,我们将逐步进行此工作。

滑杆

由于我们没有为Slider本身定义最大值,因此jQuery UI将应用默认值。 那是100 。 因此,我们还可以将100 (px)用作滑块的width

#slider{border-width: 1px;border-style: solid;border-color: #333 #333 #777 #333;border-radius: 25px;width: 100px;position: absolute;height: 13px;background-color: #8e8d8d;background: url('../images/bg-track.png') repeat top left;box-shadow: inset 0 1px 5px 0px rgba(0, 0, 0, .5), 0 1px 0 0px rgba(250, 250, 250, .5);left: 20px;
}

工具提示

通过绝对指定其位置-25px-25px ,将使工具提示位于滑块上方

.tooltip {position: absolute;display: block;top: -25px;width: 35px;height: 20px;color: #fff;text-align: center;font: 10pt Tahoma, Arial, sans-serif ;border-radius: 3px;border: 1px solid #333;box-shadow: 1px 1px 2px 0px rgba(0, 0, 0, .3);box-sizing: border-box;background: linear-gradient(top, rgba(69,72,77,0.5) 0%,rgba(0,0,0,0.5) 100%);
}

我们对音量图标做了一些修改以符合我们的想法。 想法是,我们将创建一种效果,以根据滑块的值逐渐提高音量 。 我敢肯定,您经常在媒体播放器用户界面中看到这种效果。

.volume {display: inline-block;width: 25px;height: 25px;right: -5px;background: url('../images/volume.png') no-repeat 0 -50px;position: absolute;margin-top: -5px;
}

UI句柄

手柄的样式很简单。 它将有一个看起来像金属圆圈的图标,从PSD切出,并作为背景。

我们还将光标模式更改为pointer ,因此用户将注意到该元素是可拖动的。

.ui-slider-handle {position: absolute;z-index: 2;width: 25px;height: 25px;cursor: pointer;background: url('../images/handle.png') no-repeat 50% 50%;font-weight: bold;color: #1C94C4;outline: none;top: -7px;margin-left: -12px;
}

滑块范围

滑块范围将具有稍微白色的渐变颜色。

.ui-slider-range {background: linear-gradient(top, #ffffff 0%,#eaeaea 100%);position: absolute;border: 0;top: 0;height: 100%;border-radius: 25px;
}

步骤5:效果

在这一步中,我们将开始处理Slider的特殊效果。

工具提示

此时,工具提示尚无内容,因此我们将用滑块的值填充它。 同样,工具提示的水平位置将与手柄的位置相对应。

首先,我们将工具提示元素存储为变量。

var tooltip = $('.tooltip');

然后,我们定义上面在幻灯片事件中提到的工具提示的效果。

slide: function(event, ui) {
var value = slider.slider('value'),
tooltip.css('left', value).text(ui.value);

但是,我们也希望最初隐藏工具提示。

tooltip.hide();

之后,当手柄即将开始滑动时,将显示带有淡入效果。

start: function(event,ui) {tooltip.fadeIn('fast');
},

并且,当用户停止滑动手柄时,工具提示将淡出并被隐藏。

stop: function(event,ui) {tooltip.fadeOut('fast');
},

正如我们在“ 样式”部分中前面提到的,我们计划将音量图标更改为与手柄的位置相应地变化,或者确切地说, 与滑块的值相应地变化。 因此,我们将应用以下条件语句来创建此效果。

但是,首先,我们将音量元素以及滑块的值存储为变量。

volume = $('.volume');

然后我们开始条件语句。

当滑块的值小于或等于5时 ,音量图标将完全没有条形,表明音量非常低,但是当滑块的值增大时,音量条也会开始增大。

if(value <= 5) { volume.css('background-position', '0 0');
}
else if (value <= 25) {volume.css('background-position', '0 -25px');
}
else if (value <= 75) {volume.css('background-position', '0 -50px');
}
else {volume.css('background-position', '0 -75px');
};

放在一起

好吧,如果您对以上所有内容感到困惑,请不要。 这是捷径。 将以下所有代码放入文档中。

$(function() {var slider = $('#slider'),tooltip = $('.tooltip');tooltip.hide();slider.slider({range: "min",min: 1,value: 35,start: function(event,ui) {tooltip.fadeIn('fast');},slide: function(event, ui) {var value = slider.slider('value'),volume = $('.volume');tooltip.css('left', value).text(ui.value);if(value <= 5) { volume.css('background-position', '0 0');} else if (value <= 25) {volume.css('background-position', '0 -25px');} else if (value <= 75) {volume.css('background-position', '0 -50px');} else {volume.css('background-position', '0 -75px');};},stop: function(event,ui) {tooltip.fadeOut('fast');},});});

好吧,现在让我们在浏览器中查看结果。

  • 演示版
  • 下载源

结论

今天,我们已经成功创建了一个更加优雅的jQuery UI主题,但是与此同时,我们也已经成功地将PSD用户界面转换为功能性的音量控制器。

我们希望本教程对您有所启发,并可以帮助您了解如何将PSD变成更有用的产品。

最后,如果您对本教程有任何疑问,请随时在下面的评论部分中添加它。

翻译自: https://www.hongkiat.com/blog/jquery-volumn-slider/

jquery slider_使用jQuery UI Slider创建音量控制器相关推荐

  1. jQuery Mobile 和 Kendo UI 的比较(转)

    jQuery Mobile 和 Kendo UI 的比较 转自 https://www.oschina.net/translate/jquery-mobile-versus-kendo-ui?cmp ...

  2. jQuery UI vs Kendo UI jQuery Mobile vs Kendo UI Mobile

    jQuery UI vs Kendo UI http://jqueryuivskendoui.com/#introduction jQuery Mobile vs Kendo UI Mobile ht ...

  3. jQuery Mobile中翻转拨动开关slider的data-*选项

    全栈工程师开发手册 (作者:栾鹏) jQuery Mobile 所有data-*选项 jQuery Mobile中翻转拨动开关slider的data-*选项 //一个带有 data-role=&quo ...

  4. jquery控制只监听数字_无源!模拟!颜值高!简单实用!TC Level Pilot监听音量控制器...

    Level Pilot是一款立体声无源模拟音量控制器,独立于电脑.声卡之外工作,用于有源监听音箱的音量控制,设计简洁,操作手感流畅.很多监听都不带音量旋钮,只能通过声卡或电脑进行音量控制,在手边放一个 ...

  5. jquery ajax自动完成,使用AJAX进行JQuery自动完成(JQuery Autocomplete with AJAX)

    使用AJAX进行JQuery自动完成(JQuery Autocomplete with AJAX) 我正在尝试编写一个JQuery自动完成脚本,它将通过AJAX调用url并在用户将数据输入表单时更新自 ...

  6. jQuery使用总结 - jQuery组成和主要功能 1/4

    Core jQuery 核心关注的两件事情:选择页面中元素(Selector).对元素执行操作(Events Effects CSS) jQuery UI 基于JQuery核心构建的界面库,主要归为如 ...

  7. html5 app jquery mobile,使用 jQuery Mobile 与 HTML5 开发 Web App (二) —— jQuery Mobile 基础...

    这篇文章是使用 jQuery Mobile 与 HTML5 开发 Web App 系列的第二篇,在本文以及接下来的数篇文章 Kayo 将会介绍 jQuery Mobile 的组件.事件响应以及可以调用 ...

  8. 理解一下jQuery.extend()和jQuery.fn.extend()方法

    为了方便用户创建插件,jquery提供了jQuery.extend()和jQuery.fn.extend()方法. 1. jQuery.extend() 方法有一个重载. jQuery.extend( ...

  9. 深入浅出 JQuery (一) 浅析JQuery

    1.  概述 一种新技术.新思维的出现都是因为它更方便了人们的需要,解决了目前的一些问题,它产生的同时有好处也有弊端,要看我们如何应用. 前面已经给大家介绍了JavaScript脚本语言,它在很大程度 ...

最新文章

  1. 我们要的是一个简单的react-router路由
  2. 会python学php难吗_会python再学php难吗
  3. 文件夹恢复后java运行慢,eclipse中每次重新启动服务,运行环境下的文件夹或者文件被还原...
  4. 2、C#基础 - Visual Studio 的版本选择和下载
  5. 当前记录集不支持更新_不断中招的你还放心升级win10吗?wi10近期更新问题及解决办法...
  6. excel 表生成insert语句。
  7. java+读取source资源_如何从JavaJAR文件中读取资源文件?
  8. gallery代码怎么运行_自学Python进阶-把代码变成程序、软件
  9. 滚动监听 after选择器
  10. 树莓派3B 开启串口
  11. 一个日志框架的开源,有些不错的创意。
  12. msys2 预编译的包 查询和下载
  13. 软件项目开发与管理(单代号网络图参考例题)
  14. 基础练习 回文数 C语言
  15. 统一身份认证与授权标准介绍:OpenID,OAuth2,SAML
  16. 普元信息技术java面试题,普元java实习笔试题
  17. python中文件操作
  18. Google S2 中的 CellID 是如何生成的 ?
  19. Latex 彩色表格
  20. 中职学校计算机应用基础学什么,浅谈中职学校《计算机应用基础》课程改革的一点建议...

热门文章

  1. UG NX 12 对象选择
  2. 京东2016招聘笔试题分苹果Java代码
  3. 使用shell脚本监控程序的运行和停止
  4. 拼多多商品有权重有排名吗,如何提升权重和排名?
  5. 软件测试6年工作总结--转
  6. 医日健“数智药房”解锁购药新模式
  7. 移花接木—让Windows启动无限精彩
  8. 使用.net和jquery实现一对一的网页聊天系统
  9. 股票量化分析工具QTYX使用攻略——均线系统多头排列选股(更新2.5.7)
  10. 负数与正数相乘怎么算_负数的加减乘除法是怎么算的?