下面的這樣可以,但是我還想要再被點擊的li元素添加一個class,并移除之前被點擊的li元素添加的class,不知道怎么寫,求幫忙多謝啦!
<script type="text/javascript">
$(function(){
$("ul li").click(function(){
var cls = $(this).attr("class");
if(cls=='all'){
$("#tabs div").css('display','block');
}else{
$("#tabs div").each(function(){
if($(this).hasClass(cls)){
$(this).css('display','block');
}else{
$(this).css('display','none');
}
});
}
});
});
</script>
1.模擬后端開發(fā),拉后端代碼。(要后端代碼,沒坑,效率低)
2.前端開啟web服務(wù)器,node服務(wù)器或者nginx服務(wù)器。(前端自由,不用管后端)
node服務(wù)器:
proxyTable: {
'/api': {
target: 'http://segmentfault.com',
pathRewrite: {
'^/api': ''
}
}
}
1.比如ajax接口"/getMessage",本地"localhost:8080/getMessage",有跨域的問題。
2.localhost:8080 => http://segmentfault.com,本地開啟服務(wù)器實現(xiàn)代理。
nginx服務(wù)器:
http {
server {
listen 8080; #本地端口
server_name localhost;
location ~*/get*|post* { #nginx正則匹配(可高度自定義)
proxy_pass http://segmentfault.com; #反向代理
}
}
}
1.比如ajax接口"/getMessage",本地"localhost:8080/getMessage",有跨域的問題。
2.localhost:8080 => http://segmentfault.com,本地開啟服務(wù)器實現(xiàn)代理。
3.nginx反向代理更多配置查詢http://www.nginx.cn/115.html。
fiddler是攔截不到代理服務(wù)器發(fā)出的請求的,
所以你得弄清這個錯誤是代理服務(wù)器響應(yīng)的,還是111.231.0.208
通過代理服務(wù)器響應(yīng)給你的。
兩種辦法
1.看下你定義的動畫多少s。然后setTimeout用在多少s后在調(diào)用
2.在methods里面定義一個函數(shù)去獲取你要的dom,然后在過渡動畫加上JavaScript鉤子,在進入完成后在調(diào)用函數(shù)即可
jsonp 應(yīng)該不行,報錯信息也提示了,這是張圖片,不是可執(zhí)行腳本,可以換種方式:
window.onload = function() {
var aLink = document.createElement('a');
aLink.;
aLink.download = 'img';
aLink.style.display = 'none';
document.body.appendChild(aLink);
aLink.click();
};
jsonp 為什么不行,這要涉及到 jsonp 的原理了,比如一個可以通過 jsonp 訪問的 url
http://freegeoip.net/json/?callback=handleResponse
實際上這個 url 里的內(nèi)容應(yīng)該是這個樣子:
handleResponse(data);
jsonp 技術(shù),實際上代碼是這樣:
var script = document.createElement("script");
script.src = "http://freegeoip.net/json/?callback=handleResponse";
document.body.insertBefore(script, document.body.firstChild);
很明顯,這個元素加載好了后,肯定直接執(zhí)行腳本里的代碼,實際上就是執(zhí)行
handleResponse(data);
那么,如果你在本地腳本里定義了 handleResponse 函數(shù)
function handleResponse(data){
// do something about the data
}
那你兩串代碼連在一起不就是:
handleResponse(data);
function handleResponse(data){
// do something about the data
}
那這個跨域的數(shù)據(jù)不就直接在 handleResponse 里拿到了么,,,但你這里是圖片,不是可執(zhí)行腳本,當然會報錯
你可以試試百度的富文本編輯器,應(yīng)該可以滿足需求!
a標簽加個download,
<a href="XXX.jpg" download=""> //可以寫,寫了下載名稱就是這個名字
要求SSL 加密鏈接
還有可是
過期,或你用的是盜版
同問,我也發(fā)現(xiàn)這個問題,vue.js
開發(fā)的站點,打開f12,過一段時間就會進入debugger狀態(tài),但是自己并沒有斷點!
html讀取是自上而下的,建議先加載css層疊樣式文件再加載js文件,這樣即使網(wǎng)慢的時候也會先顯示出大體輪廓,如果先加載js則會影響頁面樣式。
這些都是 ES6
中 解構(gòu) 和 拓展運算符(...) 的一些知識,看我寫的這個小栗子就知道什么作用了。
關(guān)于結(jié)構(gòu)可以去學習一下,自己谷歌搜索一下 ES6
的解構(gòu) 和 拓展運算符,一堆教程。
擴展運算符( spread )是三個點(...)。它好比 rest 參數(shù)的逆運算,將一個數(shù)組轉(zhuǎn)為用逗號分隔的參數(shù)序列。
console.log(...[1, 2, 3])
// 1 2 3
console.log(1, ...[2, 3, 4], 5)
// 1 2 3 4 5
[...document.querySelectorAll('div')]
// [<div>, <div>, <div>]
拓展運算符(...) 用于操作數(shù)組,有兩種層面
第一個叫做 展開運算符(spread operator),作用是和字面意思一樣,就是把東西展開。可以用在 array
和 object
上都行。
比如:
let a = [1,2,3];
let b = [0, ...a, 4]; // [0,1,2,3,4]
let obj = { a: 1, b: 2 };
let obj2 = { ...obj, c: 3 }; // { a:1, b:2, c:3 }
let obj3 = { ...obj, a: 3 }; // { a:3, b:2 }
第二個,第三個叫做 剩余操作符(rest operator),是解構(gòu)的一種,意思就是把剩余的東西放到一個array里面賦值給它。一般只針對array的解構(gòu),其他的沒見過。。。
比如:
let a = [1,2,3];
let [b, ...c] = a;
b; // 1
c; // [2,3]
// 也可以
let a = [1,2,3];
let [b, ...[c,d,e]] = a;
b; // 1
c; // 2
d; // 3
e; // undefined
// 也可以
function test(a, ...rest){
console.log(a); // 1
console.log(rest); // [2,3]
}
test(1,2,3)
還有類似的
let array = [1, 2, 3, 4, 5];
const { x, y, ...z } = array;
// 其中z=[3, 4, 5],注意如果由于array的length不足以完成析構(gòu),則會導致z為[]
對象:
let obj = { name: 'zhangsan', age: 30, city: 'shenzhen' };
const {name, ...others} = obj;
console.log(name); // 'zhangsan'
console.log(others); // {age: 30, city: 'shenzhen'}
Object.keys
和 Object.values
顯而易見一個獲取對象的 key
值,一個獲取對象的 value
值,返回的都是數(shù)組。
關(guān)于數(shù)組的 every
用法,其實也很簡單。
對數(shù)組中的每個元素都執(zhí)行一次指定的函數(shù)(callback),直到此函數(shù)返回 false,如果發(fā)現(xiàn)這個元素,every 將返回 false,如果回調(diào)函數(shù)對每個元素執(zhí)行后都返回 true ,every 將返回 true。它只對數(shù)組中的非空元素執(zhí)行指定的函數(shù),沒有賦值或者已經(jīng)刪除的元素將被忽略
//測試是否所有數(shù)組元素都大于等于10:
function isBigEnough(element, index, array) {
return (element >= 10);
}
var passed = [12, 5, 8, 130, 44].every(isBigEnough);
// passed is false
passed = [12, 54, 18, 130, 44].every(isBigEnough);
// passed is true
//結(jié)果:
//[12, 5, 8, 130, 44].every(isBigEnough) 返回 : false
//[12, 54, 18, 130, 44].every(isBigEnough) 返回 : true
小伙子基礎(chǔ)要學好啊,這些都是語法基礎(chǔ)
mp4
,最保險的格式,不要去試那些小眾的格式,有可能本地播放器都不支持
就是把回調(diào)函數(shù)改成了箭頭函數(shù),完全沒什么問題啊
express-session 保存用戶登陸信息,或者可以用redis保存,每個用戶都一個保存三條登陸信息的隊列,判斷時間就行了
xAxis.boundaryGap:true
Swiper 3D flow類似這種
你這里的dialogVisible
只是用傳入的參數(shù)初始化了,并不會根據(jù)傳入的參數(shù)而變化,畢竟它不是計算屬性。。
參考:https://vuejs.org/v2/guide/co...
更新:
我自己寫了一個,你看看;要點在于父組件傳入的屬性參數(shù)是不能在子組件里直接修改的,實際控制dialog
顯示隱藏的最終都是父組件修改isShow
的值實現(xiàn)的,子組件只是觸發(fā)自定義事件:
<body>
<div id="father">
<button @click="toggleDialog">toggle dialog</button><br>
<el-dialog v-show="isShow" :dialogVisible="isShow" @on-close="closeDialog">
</el-dialog>
</div>
<script src="https://cdn.bootcss.com/vue/2.5.13/vue.min.js"></script>
<script type="text/javascript">
Vue.component('el-dialog',{
template: '<p><button @click="close">close dialog</button> <slot></slot></p>',
props: {
dialogVisible: {
type: Boolean,
default: false
}
},
methods: {
close: function(){
this.$emit('on-close');
}
}
});
new Vue({
el: '#father',
data: {
isShow: false
},
methods: {
toggleDialog: function(){
this.isShow = !this.isShow;
},
closeDialog: function(){
this.isShow = false;
}
}
})
</script>
</body>
建議在你提問表述不清楚的時候也做一個能表達你問題的最小系統(tǒng)吧
總結(jié)起來有兩個問題
你應(yīng)該善用谷歌搜索,這些問題都有現(xiàn)成的解答。
順便提一下,jquery.js 整個腳本可以通過類似的方式植入,不必要加在現(xiàn)有的 injected.js 腳本文件里。現(xiàn)學現(xiàn)用,靈活一點。
driving.search(start, end, {waypoint: arr}) 有三個參數(shù),start:起點; end:終點; {waypoint:arr} 途經(jīng)點,將途經(jīng)點數(shù)組放進第三個參數(shù)里面即可以根據(jù)指定定位點繪制出路徑規(guī)劃
北大青鳥APTECH成立于1999年。依托北京大學優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
北大青鳥中博軟件學院創(chuàng)立于2003年,作為華東區(qū)著名互聯(lián)網(wǎng)學院和江蘇省首批服務(wù)外包人才培訓基地,中博成功培育了近30000名軟件工程師走向高薪崗位,合作企業(yè)超4
中公教育集團創(chuàng)建于1999年,經(jīng)過二十年潛心發(fā)展,已由一家北大畢業(yè)生自主創(chuàng)業(yè)的信息技術(shù)與教育服務(wù)機構(gòu),發(fā)展為教育服務(wù)業(yè)的綜合性企業(yè)集團,成為集合面授教學培訓、網(wǎng)
達內(nèi)教育集團成立于2002年,是一家由留學海歸創(chuàng)辦的高端職業(yè)教育培訓機構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
曾工作于聯(lián)想擔任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責任公司從事總經(jīng)理職務(wù)負責iOS教學及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術(shù)功底深厚。 授課風格 授課風格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。