素晴らしいJavaScriptウィザードの助けを借りて、ボタンをクリックするとHTML5ビデオのサイズを拡大し、ウィンドウのサイズを変更するたびに再実行するネイティブJavaScript関数があります。ページの読み込み時にネイティブJavaScript関数を実行
私は、ページのロード時にそれを起動する代わりに式からボタンを削除したいと思います。ウィンドウのサイズ変更トリガーを維持しながらクラス名の依存関係を削除してください。
ありがとうございました!あなたなしではできませんでした。 ...
var clicked = document.getElementById("buttonImportant")
var videoContainer = document.getElementById('video_container');
var video = videoContainer.getElementsByTagName('video')[0];
video.style.height="auto";
video.style.width="1280px";
clicked.addEventListener('click',function(){
if(videoContainer.className.lastIndexOf("fullScreen")>=0){
videoContainer.className="video-js-box";
video.style.height = "";
video.style.width="";
}
else
{
videoContainer.className="video-js-box fullScreen";
video.style.height = "";
video.style.width="";
}
myResizerObject.prevWidth = video.offsetWidth;
myResizerObject.prevHeight = video.offsetHeight;
myResizerObject.Init();
},false);
var RESIZER = function(){
this.prevWidth = video.offsetWidth;
this.prevHeight = video.offsetHeight;
this.videoContainer = document.getElementById('video_container');
this.video = videoContainer.getElementsByTagName('video')[0];
this.videoStyle = this.video.style;
var ratio = this.video.offsetHeight/this.video.offsetWidth;
var that = this;
this.Init = function(){
if(that.videoContainer.className.lastIndexOf("fullScreen")>=0)
{
var videoContOffsetWidth = that.videoContainer.offsetWidth;
var videoOffsetWidth = that.video.offsetWidth;
var videoContOffsetHeight = that.videoContainer.offsetHeight;
var videoOffsetHeight = that.video.offsetHeight;
if(that.prevWidth!= videoContOffsetWidth)
{
that.prevWidth = videoContOffsetWidth;
var desired = videoContainer.offsetHeight/videoContainer.offsetWidth;
if(desired>ratio){
that.videoStyle.width=videoContOffsetWidth*desired+videoContOffsetWidth*desired+"px";
that.videoStyle.left = -1*(videoOffsetWidth-videoContOffsetWidth)/2+'px';
}
else{
that.videoStyle.cssText="height:auto;width:100%;left:0px;top:0px;";
}
}
if(that.prevHeight!=videoContOffsetHeight)
{
that.prevHeight = videoContOffsetHeight;
var desired = videoContOffsetHeight/videoContOffsetWidth;
if(desired>ratio){ console.log(ratio);
that.videoStyle.top = '0px';
that.videoStyle.left = -1*(videoOffsetWidth-videoContOffsetWidth)/2+'px';
that.videoStyle.width = videoContOffsetHeight*desired+videoContOffsetHeight/desired+'px';
}
else
{
that.videoStyle.top = -1*(videoOffsetHeight-videoContOffsetHeight)/2+'px';
}
}
}
};
};
var myResizerObject = new RESIZER();
window.onresize = myResizerObject.Init;
ハハ...良い点!私は投稿を編集し、目標を大胆にします。私はwindow.onresizeと組み合わせて、私が探しているwindow.onloadだと思います。 実際にjQueryが必要かどうかはわかりませんが、実際にはわかりません。最終的にこれはリンクされた.jsファイルにあり、前述したように、既にjQueryで書かれた別の関数と組み合わせられます。何がお勧めですか? – technopeasant
私はコードがうまくフォーマットされるように私の答えにもっと多くを加えました;) – AndyL
ありがとうAndy!私はjQuery関数の呼び出しでそれを起動することができ、成功しなかったのです。私の推測では、ボタンを起動することは、クラスを関与させ、関数の残りの部分を "this"と解釈するので、難しくなっています。それは完全に不要で、かなりイライラしています。私はそれをより簡潔にするために私の質問を編集しました。 – technopeasant