分类 前端 下的文章

angular1路由route遇到#!【解决】

angular1 双向数据绑定已经基本掌握,今天用路由angular-route,遇到#后多出一个感叹号! 。路由不能正常使用。
开始就感觉是angular版本的问题,查资料
果然,使用angular 1.6.0以上版本,需要在配置路由config加上

$locationProvider.hashPrefix('');

$location服务解析地址栏中的URL(基于window.location),让你在应用代码中能获取到。改变地址栏中的URL会反应$location服务中,反之亦然。
http://www.angularjs.cn/A00M

'use strict';

angular.module('MyApp', [
'ngRoute',
'myApp.in_theaters',
'myApp.coming_soon',
'myApp.top250'
]).
config(['$routeProvider', '$locationProvider',function($routeProvider,$locationProvider) {
$locationProvider.hashPrefix('');
$routeProvider.otherwise({redirectTo: '/in_theaters'});
}]);

可以正常使用。

在ajax发送成功后,无法使用jquery on对新添加的DOM进行绑定【解决】

今天 帮一个版块的详细信息,遇到这个问题了。发现选择器正确,事件也都正确,但是没有触发点击事件的效果。
了解这些绑定的区别就解决了。


bind(type,[data],fn) 为每个匹配元素的特定事件绑定事件处理函数

$("a").bind("click",function(){alert("ok");});

live(type,[data],fn) 给所有匹配的元素附加一个事件处理函数,即使这个元素是以后再添加进来的

$("a").live("click",function(){alert("ok");});

delegate(selector,[type],[data],fn) 指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数

$("#container").delegate("a","click",function(){alert("ok");})

on(events,[selector],[data],fn) 在选择元素上绑定一个或多个事件的事件处理函数

差别:

.bind()是直接绑定在元素上

.live()则是通过冒泡的方式来绑定到元素上的。更适合列表类型的,绑定到document DOM节点上。和.bind()的优势是支持动态数据。

.delegate()则是更精确的小范围使用事件代理,性能优于.live()

.on()则是最新的1.9版本整合了之前的三种方式的新事件绑定机制

angular1控制器主要作用(大致思路)

初始化module数据(为应用中的模型设置初始状态)
用过$scope对象把数据模型或函数行为暴露给视图
监视模型的变化,做出相应动作

 <!DOCTYPE html>
<html lang="en" ng-app="myApp">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<table ng-controller="muController">
    <tr>
        <td>用户名:</td>
        <td><input type="text" ng-model="user.username"/></td>
    </tr>
    <tr>
        <td>密码:</td>
        <td><input type="password" ng-model="user.password"/></td>
    </tr>
    <tr>
        <td><input type="button" value="登陆" ng-click="login()"/></td>
    </tr>
</table>
<script src="node_modules/angular/angular.js"></script>
<script>
    var app = angular.module("myApp", []);
    app.controller("muController", ["$scope", function ($scope) {
        $scope.user = {
            username: '',
            password: ''
        }
        $scope.login = function () {
            console.log($scope.user);
        }
    }])
</script>
</body>
</html>

仿腾讯首页星座运势(完)

上 http://www.qq.com/ 扒素材。
主要涉及: position “子绝父相” , onchange(select option)

function $(id){return document.getElementById(id);}

code: https://github.com/net-web/javasript-base

CSS:

仿腾讯首页星座运势
最终效果:
仿腾讯首页星座运势