/** * ========================================================================== * * [javascript Common] * * ========================================================================== */ /** * ブラウザ判定 */ var userAgent = window.navigator.userAgent.toLowerCase(); var browserIE = 0; //IE判定 var browser_v = 0; //IEバージョン番号 var browser_nm = ""; //browser名 if (/*@cc_on!@*/false) { browserIE = 1; browser_nm = "IE"; if (navigator.userAgent.match(/MSIE (¥d¥.¥d+)/)) {browser_v = parseFloat(RegExp.$1);}//IE6.7.8.9 } else if (userAgent.indexOf("firefox") > -1) {browser_nm = "Firefox";} else if (userAgent.indexOf("opera") > -1) {browser_nm = "Opera";} else if (userAgent.indexOf("chrome") > -1) {browser_nm = "Chrome";} else if (userAgent.indexOf("safari") > -1) {browser_nm = "Safari";} else { browser_nm = "Unknown"; } /** * strict対策blank open */ function blankOpen(url) { window.open(url); } /** * preload */ jQuery.preimg = function() { for(var i = 0; i < arguments.length; i++) { $('').attr('src', arguments[i]); } }; /** * GET値の取得 */ var qsParm = new Array(); function retrieveGETqs() { var query = window.location.search.substring(1); var parms = query.split('&'); for (var i = 0; i < parms.length; i++) { var pos = parms[i].indexOf('='); if (pos > 0) { var key = parms[i].substring(0, pos); var val = parms[i].substring(pos +1); qsParm[key] = val; } } return qsParm; } (function($) { $(function() { /** * rollover */ var imgCache; $("a > .roImg").hover(function() { var imgSrc = $(this).attr('src'); var imgSrcDot = imgSrc.lastIndexOf('.'); var imgSrcOver = imgSrc.substr(0, imgSrcDot) + '_on' + imgSrc.substr(imgSrcDot, 4); imgCache = imgSrc; $(this).attr('src', imgSrcOver); }, function() { $(this).attr('src', imgCache); }); /** * go to page top */ /*$('#pageTopBt').click(function() { $('html, body').animate({ scrollTop: 0 }, 500); });*/ /** * 高さ合わせ */ $('.adjustList').each(function() { var setHeight = 0; $(this).children().each(function() { var getHeight = $(this).height(); if (getHeight > setHeight) { setHeight = getHeight; } }); $(this).children().height(setHeight); if ($(this).children().length == 0) { $(this).remove(); } }); /** * preload image */ jQuery.preimg( // imgソースを記述することで画像を先読みする // 例) // '/images/global/test.jpg' ); $('.jqHover').each(function() { if (!$.support.opacity) return; $(this).fadeTo(0, 1.0); $(this).hover(function() { $(this).fadeTo(300, 0.5); }, function() { $(this).stop(true, true).fadeTo(300, 1.0); }); }); setFrmWidth(); $(window).resize(function() { setFrmWidth(); }); /** * #で始まるアンカーをクリックした場合のスムーススクロール */ var $anchors = $(" a[href^='#'].scroll"); var $doc = $(browser_nm === 'Chrome' || browser_nm === 'Safari' ? 'body' : 'html'); var speed = 1500; $anchors.each(function(){ var $anchor = $(this); var anchorID = $anchor.attr('href'); var $target = $(anchorID); $anchor.click(function(e) { var targetPositionTop = $target.offset().top; $doc.stop().animate({ scrollTop: targetPositionTop }, 'normal', 'easeInQuad'); return false; }); }); /** * フォーカス時に選択状態にする */ $('.autoFocus').click(function() { $(this).select(); }); }); }(jQuery)); function setFrmWidth() { /** * フォームオブジェクト * frmwidthAutoを指定したものを自動100%に * 親テーブルにtableWidthAutoを指定 * 自動リサイズしたいエレメントの入るtdの最初の列にtdAutoを指定 */ $('.frmwidthAuto').width('50px'); $('.tableWidthAuto').each(function() { var setTdWidth = $(this).find('.tdAuto').width(); $('#dumpText').text(setTdWidth); $(this).find('.frmwidthAuto').width(setTdWidth); }); } /** * enterキーの無効化 */ function BlockEnter(evt) { evt = (evt) ? evt : event; var charCode = (evt.charCode) ? evt.charCode : ((evt.which) ? evt.which : evt.keyCode); if ( Number(charCode) == 13 || Number(charCode) == 3) { return false; } else { return true; } } /** * ポップアップウィンドウ */ function popupWindow(url, name, width, height, left, top, resizable, scrollbars) { window.open(url, name, 'width=' + width + ', height=' + height + ', left=' + left + ', top=' + top + ', resizable=' + resizable + ', scrollbars=' + scrollbars); } /** * ブラウザ言語の取得 */ function getBrowserLANG() { if (document.all) { return navigator.browserLanguage; //IE用 } else if (document.layers) { return navigator.language; //N4用 } else if(document.getElementById) { return navigator.language.substr(0,2); //N6,Moz用 } } /* * 指定された文字列のバイト長(UTF-8)を得る */ function getBytes(str) { // URLエンコードされる文字列 var ESCAPECHAR = ";,/?:@&=+$ "; // URLエンコードされたUTF-8文字列表現の桁数とバイト数の対応テーブル // encodeURI("あ") → "%E3%81%82" (9桁) → 3バイト var ESCAPEDLEN_TABLE = [ 0, 1, 1, 1, 2, 3, 2, 3, 4, 3 ]; var size = 0; if (str == null || str == "") { return size; } for (var i=0; i= 0) { size++; } else { size += ESCAPEDLEN_TABLE[encodeURI(c).length]; } } return size; }