當彈出軟鍵盤時到底發(fā)生了什么? ios手機$('body').scrollTop()會改變,而android手機$(window).height()會改變彈出軟鍵盤是漸變的過程。供以下方法參考:
// ios手機
var timer = null;
$('input').on('focus', function() {
clearInterval(timer);
var index = 0;
timer = setInterval(function() {
if(index>5) {
$('body').scrollTop(1000000);
clearInterval(timer);
}
index++;
}, 50)
})
// android手機
var winHeight = $(window).height(); // 獲取當前頁面高度
$(window).resize(function() {
var resizeHeight = $(this).height();
if (winHeight - resizeHeight > 50) {
// 軟鍵盤彈出
$('body').css('height', winHeight + 'px');
} else {
//軟鍵盤收起
$('body').css('height', '100%');
}
});
希望對您有所幫助!
原來是我本地時間錯誤了,調整之后,就解決了~
console.log(a.key))和寫(a.key = 1)的時候是不一樣的,讀的時候會一直查下去,寫的時候發(fā)現本身沒有就直接創(chuàng)建賦值了。{name, colors}。那你改對colors添加name是不會影響到name屬性的。Student是個類型,Students是個Student類型集合的實例。
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
<script>
function PostData() {
$.ajax({
type: "POST",
url: "https://x/x.php",
data : "data=" + $("#input_0").val(),
success: function(msg) {
alert(msg);
}
});
return false;
}
</script>
<form onsubmit="return PostData()">
<input id="input_0" type="text" value="">
<input type="submit">
</form>
向 https://x/x.php 發(fā)送一個 data=[val] 的 post 請求, [val] 是 input_0 標簽的內容, 返回的結果在 msg 里.
在react中可以直接用import或者require來引入圖片,然后把返回結果作為img的src
得看具體配置才知道。
你可參考別人完整項目的webpack配置,總共就沒幾行代碼,一行一行分析完基本就會了。
給你個參考地址:https://github.com/CodeLittle...
昨晚找到的解決方案如下,
還有另外一種是根據url判斷,因為刷新不會改變路由(這個方法沒試過)
watch: {
selected: function (val, oldVal) {
router.push(val)
window.localStorage.setItem('navTabIndex',val);
}
},
created: function(){
let localData = window.localStorage.getItem('navTabIndex')
this.selected = localData
}
}樣式寫在頁面內無法通過chrome的調試來修改,只能修改頁面內的樣式代碼
使用react-router的createElement解決!
Router.js
......
...... // 省略其他無關緊要代碼
// 此處為要點擊刷新的組件
const arr = [
home
];
// 開關優(yōu)化
let onOff =false;
// 頁面強制刷新,如果需要強制刷新在路由中添加onChange事件以及在組件數組添加
const createElement=(component, props) =>{
if (props.children && onOff || props.children && arr.includes(props.routes.slice(-1)[0].getComponent)) {
let children = Object.assign({}, props.children, {key : `${window.location.pathname}` + new Date().getTime()})
props = { ...props, children };
onOff = false;
}
return React.createElement(component, props)
}
const onChange = (props, next) => {
onOff = true
console.log(`${next.location.pathname}`, 'change');
}
const RouteConfig = (
<Router history={history} createElement = {createElement}>
<Route path="/home" getComponent={home} onChange = {onChange} />
...
...
</Router>
);
export default RouteConfig;
如果您用的react-router4.0,當使用 component 時,router 將使用 React.createElement 根據給定的 component 創(chuàng)建一個新的 React 元素。這意味著如果你使用內聯函數(inline function)傳值給 component將會產生不必要的重復裝載。對于內聯渲染(inline rendering), 建議使用 renderprop。
也可以參考下我新寫的文章:這里有沒有你想要的react-router
1.上傳完圖片調回到頁面上,或者用FileReader()把本地要上傳的圖像文件變成DataUrl直接在頁面上展現
var input = document.getElementById("inputArea")
var imgData = input.files[0];
var reader = new FileReader(); //調用FileReader對象
reader.readAsDataURL(imgData); //通過DataURL的方式返回圖像
reader.onload = function(e) {
var result = document.getElementById("result");
result.innerHTML = '<img src="' + e.target.result + '" alt="" />';
}
2.將圖片和你要渲染出的文字用html排版成你想要的樣子
3.用html2canvas庫將你的頁面渲染成圖片就OK了
html2canvas(document.getElementById('image'), {
onrendered: function(canvas) {
var image = canvas.toDataURL("image/png");
$("#pic").html("<img src='"+image+"' alt='from canvas'/>")
},
});不要想太多細節(jié)上的開銷,這也是新手常常犯的錯誤。先把大局上的架構優(yōu)化弄明白才是正道
^[\u4E00-\u9FA5]+$
信息太少。請給出更多代碼
先說一下我的問題吧,以下是我的目錄結構(以下用test命名的文件/文件夾就是此次測試所用)
這個是一開始的webpack配置
這個是在sass中引用到的圖片
我希望的是打包后,src/img/test/test.png能夠變成dist/img/test/test.png,然而,當我打包之后,卻發(fā)現變成了這樣子
圖片直接打包到了dist/img目錄之下,并且css之中引用的也是dist/css/img下的圖片,沒辦法,看文檔,結果我看到了這一句
我尋思著,這應該就是對應目錄的配置了吧(原諒我理解有問題),趕緊寫上去,結果是這樣
毛線啊,只不過是多了個src的相對路徑啊,問題根本沒變啊
之后還是到了找資料的過程,發(fā)現publicPath這個東西,
重點來了,publicPath說是自定義發(fā)布的目錄,其實就是將你打包后的css中引用的文件路徑給替換成publicPath的值,并且因為publicPath與name這兩個屬性可以是函數,并且兩者有一定的聯系,所以我們可以從這里下文章。
{
test: /\.(png|jpg)$/,
use: {
loader: "url-loader",
options:{
name: function(file){
console.log('----------111-------',file);
},
// name: '[name].[ext]',
limit: '8192',
publicPath: function(url){
console.log('----------222-------',url)
},
outputPath: 'img/',
}
}
}
當然,這樣子打包的是不完整的,打包后的圖片也是直接就在dist/img文件夾下,我們需要的是看看參數file與url是什么
一次是看不出什么的,我們再來一次
{
test: /\.(png|jpg)$/,
use: {
loader: "url-loader",
options:{
name: function(file){
console.log('----------111-------',file);
return 'QAQ/[name].[ext]'
},
// name: '[path][name].[ext]',
limit: '8192',
publicPath: function(url){
console.log('----------222-------',url)
},
outputPath: 'img/',
}
}
}
emm,dist/img文件夾下多了個QAQ,file是引用圖片的絕對路徑,并且url就是這個name函數返回的值(我們假裝它是真的QAQ/test.png),那么接下來我們就可以繼續(xù)進行下一步
{
test: /\.(png|jpg)$/,
use: {
loader: "url-loader",
options:{
name: function(file){
var reg = /img\\(.*)\\([^\\]*)\.(png|jpg)$/,
dirStr = reg.exec(file)[1]
dirStr = dirStr?dirStr.replace(/\\/g,'/')+'/':'';
return dirStr + '[name].[ext]'
},
// name: '[path][name].[ext]',
limit: '8192',
publicPath: function(url){
return path.resolve(__dirname,'dist/img',url).replace(/\\/g,'/')
},
outputPath: 'img/',
}
}
}
在name這邊我使用了正則好從file中提取出對應的文件夾比如'QAQ/',拼合成打包圖片的路徑返回,這樣子根據圖片生產對應的文件夾這個問題就解決了,然后在publicPath這邊根據傳進來的url進行路徑拼接,得到打包后的圖片位置,并返回出去,結果如下圖
可以看到這已經得到了我預期的效果,并且打包后的css中圖片引用路徑也是沒問題的。
希望這個能給樓主提供一些幫助,另外如果有錯誤的話還請各位指出,畢竟第一次寫東西語言有點混亂(躺)
北大青鳥APTECH成立于1999年。依托北京大學優(yōu)質雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數據專業(yè)的國家
達內教育集團成立于2002年,是一家由留學海歸創(chuàng)辦的高端職業(yè)教育培訓機構,是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學校辦產業(yè)為響應國家深化產教融合/校企合作的政策,積極推進“中國制造2025”,實現中華民族偉大復興的升級產業(yè)鏈。利用北京大學優(yōu)質教育資源及背
博為峰,中國職業(yè)人才培訓領域的先行者
曾工作于聯想擔任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔任項目經理從事移動互聯網管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責任公司從事總經理職務負責iOS教學及管理工作。
浪潮集團項目經理。精通Java與.NET 技術, 熟練的跨平臺面向對象開發(fā)經驗,技術功底深厚。 授課風格 授課風格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網頁制作和網頁游戲開發(fā)。
具有10 年的Java 企業(yè)應用開發(fā)經驗。曾經歷任德國Software AG 技術顧問,美國Dachieve 系統(tǒng)架構師,美國AngelEngineers Inc. 系統(tǒng)架構師。