记录日常点点滴滴,欢迎来到我的小站。

0%

PHP代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php
header('Content-type: application/json');
//获取回调函数
$callback = $_REQUEST['callback'];

$conn = mysql_connect("192.168.0.139","root","root") or die ("connection fails!");
mysql_select_db("test",$conn);
mysql_query("set names 'UTF8'");//使用UTF8编码;

$sql = "SELECT DISTINCT eshop.shop_area, eshop.shop_name FROM en_shop AS eshop";
$result=mysql_query($sql);

//创建接收数组
$wp_options = array();

//整理数组
while($row = mysql_fetch_array($result,MYSQL_ASSOC)){
$wp_options[] = $row;
}

//json数据
$json = "[";
$db_data = "";
foreach ($wp_options as $data){
foreach($data as $key => $value){
if($key == 'shop_name'){
$db_data .= '"' . $key . '":'.'"'.$value.'"},';
}else{
$db_data .= '{"' . $key . '":'.'"'.$value.'",';
}
}
}

$json .= $db_data;
$json = rtrim($json,",");
$json .= "]";

echo $callback . '(' . $json . ')';

exit;
mysql_free_result($result);

?>
阅读全文 »

Javascript本身并不支持面向对象,它没有访问控制符,它没有定义类的关键字class,它没有支持继承的extend或冒号,它也没有用来支持虚函数的virtual,不过,Javascript是一门灵活的语言,下面我们就看看没有关键字class的Javascript如何实现类定义,并创建对象。

一:定义类并创建类的实例对象

在Javascript中,我们用function来定义类,如下:

1
2
3
4
5
function Shape()
{
var x = 1 ;
var y = 2 ;
}
阅读全文 »

jQuery .unique()的使用

1
2
var yearArray = new Array(2009, 2009, 2010, 2010, 2009, 2010);
$.unique(yearArray);

返回 2009, 2010, 2009, 2010

1
2
3
var yearArray = new Array(2009, 2009, 2010, 2010, 2009, 2010);
yearArray.sort();
$.unique(yearArray);
阅读全文 »

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
$.extend({
password: function (length, special) {
var iteration = 0;
var password = "";
var randomNumber;
if(special == undefined){
var special = false;
}
while(iteration < length){
randomNumber = (Math.floor((Math.random() * 100)) % 94) + 33;
if(!special){
if ((randomNumber >=33) && (randomNumber <=47)) { continue; }
if ((randomNumber >=58) && (randomNumber <=64)) { continue; }
if ((randomNumber >=91) && (randomNumber <=96)) { continue; }
if ((randomNumber >=123) && (randomNumber <=126)) { continue; }
}
iteration++;
password += String.fromCharCode(randomNumber);
}
return password;
}
});

// How to use
$.password(8);
$.password(12, true);

指定默认操作
通过调用.preventDefault()方法可以在出发默认操作之前终止事件。
调用 event.stopPropagation()停止事件传播
jQuery提供了一个.stopPropagation()方法,使用该方法可以完全阻止事件冒泡。实例代码如下:
使用stopPropagation()方法阻止事件冒泡

1
2
3
4
5
6
7
8
9
10
11
12
13
$(document).ready(function() {
$('switcher').click(function(event){
if(this.id == 'switcher-narrow'){
$('body').addClass('narrow');
}
else if(this.id == 'switcher-large'){
$('body').addClass('large');
}
$('switcher .button').romoveClass('selected');
$(this).addClass('selected');
event.stopPropagation();
};)
});

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<script>
var flag=false;
var ajaxResult='';

var i=setInterval(
function(){
if(flag){
console.log(ajaxResult);
clearInterval(i);}
else console.log('not yet!')
},
1000);

$.ajax(
{
url:"http://www.ttwinbug.com/video/invoking/m/getMobile?vid=92832661200271079C33DC5901307461",
dataType: 'jsonp',
success: function(){
ajaxResult="got it!";
flag=true;
}
});
</script>

直接上代码,这么简单就不用太多的说明了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var options={};

//获取每一个选项的显示值,保存到options对象中
$('#myselect option').each(function(){
var option = $(this);
options[option.text()] = option;
});

var keys = Object.keys(options).sort();

var $myselect = $('#myselect').empty();

$.each(keys,function(i,key){
$myselect.append(options[key]);
});
阅读全文 »

JavaScript的函数作用域是指在函数内声明的所有变量在函数体内始终是可见的,并且在JavaScript函数里声明的所有变量都被“提前”值函数体的顶部。
例1

1
2
3
4
5
6
7
8
9
10
11
function test(o){
var i = 0;
if(type0f == "object"){
var j = 0;
for(var k=0; k<10; k++){
console.log(k); //输出数字0 ~ 9
}
console.log(k); //k = 10
}
console.log(j); //j = 0
}

例2

1
2
3
4
5
6
var scope= "global";
function f(){
console.log(scope); //undefined
var scope = "local";
console.log(scope); //local
}