jQuery Mobile动态刷新页面样式的实现方法


Posted in Javascript onMay 28, 2016

当我们使用Ajax或者javascript动态在页面上添加元素后,如添加select控件的option元素,添加ul的li元素。添加之后我们会发现,它们显示的样式不是jQuery Mobile的炫酷样式了,而变成了很丑陋的元素样式。如下图所示:

 jQuery Mobile动态刷新页面样式的实现方法

代码如下:

<script>
      function myFunction() {
        var ul = document.getElementById("myul");
        var li1 = "<li data-role=\"fieldcontain\">信息2</li>";
        var li2 = "<li data-role=\"fieldcontain\">信息3</li>";
        ul.innerHTML += li1;
        ul.innerHTML += li2;
      }
    </script>

    <!-- listview测试 -->
     <ul data-role="listview" data-inset="true" id="myul">
         <li data-role="list-divider">信息列表</li>
         <li data-role="fieldcontain">信息1</li>
     </ul>

可以看到,jQuery Mobile并没有对于新添加的元素进行渲染。这种情况下就需要对元素的样式进行刷新。

刷新代码如下:

<script>
      function myFunction() {
        var ul = document.getElementById("myul");
        var li1 = "<li data-role=\"fieldcontain\">信息2</li>";
        var li2 = "<li data-role=\"fieldcontain\">信息3</li>";
        ul.innerHTML += li1;
        ul.innerHTML += li2;
        
        //刷新jQuery Mobile样式
        $('#myul').listview('refresh');
      }
    </script>

其实最重要的一句刷新代码是:$('#myul').listview('refresh');

刷新后的效果如下图所示:

 

jQuery Mobile动态刷新页面样式的实现方法

注意:在使用js或者jQuery获取控件(例如:button、checkbox、radiobutton等)的值时,也是需要先刷新,否则无法获取到最新的值。

下面列出常用的标签的refresh操作,其他的可以举一反三。

1.  Listview的refresh操作:

$('#mylistid').listview('refresh');

2. select menu的refresh操作:

var myselect = $("#myselect");

myselect[0].selectedIndex = 2;

myselect.selectmenu("refresh");

3. Checkboxes的refresh操作:

$("#mycheckboxid").attr("checked",true).checkboxradio("refresh");

4. Radio buttons的refresh操作:

$("#myradioid").attr("checked",true).checkboxradio("refresh"); 

新加的:

 各类标签的刷新

1.Textarea fields

$('body').prepend('<textarea id="myTextArea"></textarea>');
$('#myTextArea').textinput();

2.Text input fields

$('body').prepend('<input type="text" id="myTextField" />');
$('#myTextField').textinput();

3.Buttons

$('body').append('<a href="" data-theme="e" id="myNewButton">testing</a>');
$('#myNewButton').button();

4.Combobox or select dropdowns

<label for="sCountry">Country:</label>
<select name="sCountry"id="sCountry">
<option value="">Where You Live:</option>
<option value="ad">Andorra</option>
<option value="ae">United Arab Emirates</option>
</select> 
 
var myselect = $("#sCountry");
myselect[0].selectedIndex = 3;
myselect.selectmenu('refresh');

5.Listviews

<ul id="myList"data-role="listview"data-inset="true">
<li>Acura</li> 
<li>Audi</li> 
<li>BMW</li> 
</ul> 
 
$('#mylist').listview('refresh');

6.Slider control

<div data-role="fieldcontain">
<label for="slider-2">Input slider:</label>
<input type="range"id="slider-2"value="25"min="0"max="100"/>
</div> 
 
$('#slider-2').val(80).slider('refresh');

7.Toggle switch

<div data-role="fieldcontain">
<label for="toggle">Flipswitch:</label>
<select name="toggle"id="toggle"data-role="slider">
<option value="off">Off</option>
<option value="on">On</option>
</select> 
</div> 
 
var myswitch = $("#toggle");
myswitch[0].selectedIndex = 1;
myswitch .slider("refresh");

8.Radio buttons

<div data-role="fieldcontain">
  <fieldset data-role="controlgroup"data-type="horizontal">
   <legend>Layout view:</legend>
     <input type="radio"name="radio-view"value="list"/>
     <labelfor="radio-view-a">List</label>
     <input type="radio"name="radio-view"value="grid"/>
     <labelfor="radio-view-b">Grid</label>
     <input type="radio"name="radio-view"value="gallery"/>
     <labelfor="radio-view-c">Gallery</label>
  </fieldset>
</div> 
 
$("input[value=grid]").attr('checked',true).checkboxradio('refresh');

9.Checkboxes

<div data-role="fieldcontain">
<fieldset data-role="controlgroup">
<legend>Agree to the terms:</legend>
<input type="checkbox"name="checkbox-1"id="checkbox-1"class="custom"/>
<label for="checkbox-1">I agree</label>
</fieldset> 
</div> 
 
$('#checkbox-1').attr('checked',true).checkboxradio('refresh');

以上这篇jQuery Mobile动态刷新页面样式的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
根据对象的某一属性进行排序的js代码(如:name,age)
Aug 10 Javascript
JavaScript中定义函数的三种方法
Mar 12 Javascript
浅谈Javascript线程及定时机制
Jul 02 Javascript
JavaScript入门基础
Aug 12 Javascript
CSS中position属性之fixed实现div居中
Dec 14 Javascript
javascript实现无缝上下滚动特效
Dec 16 Javascript
javascript类型系统——undefined和null全面了解
Jul 13 Javascript
利用Javascript实现简单的转盘抽奖
Feb 13 Javascript
解决vue 更改计算属性后select选中值不更改的问题
Mar 02 Javascript
详解如何构建一个Angular6的第三方npm包
Sep 07 Javascript
React父子组件间的传值的方法
Nov 13 Javascript
JS+canvas五子棋人机对战实现步骤详解
Jun 04 Javascript
JQuery EasyUI Layout 在from布局自适应窗口大小的实现方法
May 28 #Javascript
jQuery操作动态生成的内容的方法
May 28 #Javascript
javascript 用函数实现继承详解
May 28 #Javascript
jQuery控制li上下循环滚动插件用法实例(附demo源码下载)
May 28 #Javascript
jQuery实现布局高宽自适应的简单实例
May 28 #Javascript
jquery mobile界面数据刷新的实现方法
May 28 #Javascript
jquery自适应布局的简单实例
May 28 #Javascript
You might like
PHP动态变静态原理
2006/11/25 PHP
解决163/sohu/sina不能够收到PHP MAIL函数发出邮件的问题
2009/03/13 PHP
修改php.ini以达到屏蔽错误信息并记录日志
2013/06/16 PHP
php判断是否连接上网络的方法实例详解
2016/12/14 PHP
PHP简单实现循环链表功能示例
2017/11/10 PHP
Ajax中的JSON格式与php传输过程全面解析
2017/11/14 PHP
PHP实现模拟http请求的方法分析
2017/12/20 PHP
jquery 事件执行检测代码
2009/12/09 Javascript
老生常谈JavaScript 函数表达式
2016/09/01 Javascript
Vue项目中quill-editor带样式编辑器的使用方法
2017/08/08 Javascript
TypeScript基础入门教程之三重斜线指令详解
2018/10/22 Javascript
JavaScript解析及序列化JSON的方法实例分析
2019/01/04 Javascript
vuejs简单验证码功能完整示例
2019/01/08 Javascript
NodeJs操作MongoDB教程之分页功能以及常见问题
2019/04/09 NodeJs
微信小程序 wepy框架与iview-weapp的用法详解
2019/04/10 Javascript
nodejs中内置模块fs,path常见的用法说明
2020/11/07 NodeJs
微信小程序实现列表左右滑动
2020/11/19 Javascript
解决Vue-cli3没有vue.config.js文件夹及配置vue项目域名的问题
2020/12/04 Vue.js
[01:58]2018DOTA2亚洲邀请赛趣味视频——交流
2018/04/03 DOTA
Python实现将HTML转换成doc格式文件的方法示例
2017/11/20 Python
Windows下Anaconda2安装NLTK教程
2018/09/19 Python
Django csrf 两种方法设置form的实例
2019/02/03 Python
解决Tensorflow 使用时cpu编译不支持警告的问题
2020/02/03 Python
Python使用正则表达式实现爬虫数据抽取
2020/08/17 Python
20世纪40年代连衣裙和复古服装:The Seamstress Of Bloomsbury
2018/07/24 全球购物
俄罗斯三星品牌商店:Samsungstore
2020/04/05 全球购物
计算机毕业大学生推荐信
2013/12/01 职场文书
建筑结构施工专业推荐信
2014/02/21 职场文书
聘任书模板
2014/03/29 职场文书
民事诉讼授权委托书范文
2014/08/02 职场文书
四风查摆问题自查报告
2014/10/10 职场文书
歌剧魅影观后感
2015/06/05 职场文书
重温入党誓词主持词
2015/06/29 职场文书
电视新闻稿
2015/07/17 职场文书
基于python制作简易版学生信息管理系统
2021/04/20 Python
mysql字段为NULL索引是否会失效实例详解
2022/05/30 MySQL