• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:dhtmlx.comのガントチャート祝日表示)

dhtmlx.comのガントチャート祝日表示

このQ&Aのポイント
  • dhtmlx.comのガントチャートを使用して、祝日の表示について質問があります。
  • phpで更新可能にしたガントチャートで、javascriptの知識が不足しているため、祝日の表示に問題が発生しています。
  • ソースコードを確認した結果、ヘッダーの土日の色を変える命令文のようですが、詳しい意味を把握できていません。理解することで問題を解決できるかもしれません。

質問者が選んだベストアンサー

  • ベストアンサー
  • b0a0a
  • ベストアンサー率49% (156/313)
回答No.1

多分ここですね var w = date.getDay(); if (w==0 || w==6)newCell.style.backgroundColor = "#f7f8f7" だからholiday.jsを shukujitsu={ 1:[1,2,3], 2:[], 3:[], 4:[], 5:[], 6:[], 7:[], 8:[], 9:[], 10:[], 11:[], 12:[30,31] } みたいにして (w==0 || w==6) を (w==0 || w==6 || shukujitsu[date.getMonth()+1].indexOf(date.getDate())!=-1) にすればいいんじゃないでしょうかね

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 順番にセルの背景色をつけたい

    javascriptを使って セルの背景色一定の時間で順番に変える方法を調べています。 ボタンをクリックすると □□□□ ↓ ■□□□ ↓ □■□□ ↓ □□■□ ↓ □□□■ と変化するようなものを作成したいと考えております。 下記のソースでalertを出すと実現できるのですが、 alertをコメントアウトするとうまくいきません。 以上の点、アドバイス等お願いします。 <html> <head> <title></title> <script type="text/javascript"> function changeColor(){ var targetTable = document.getElementById('colorchange'); var targetTr = targetTable.rows[0]; var tdLen = targetTr.cells.length; for(var i = 0 ; i < tdLen ; i++ ){ if( i==0 ){ targetTr.cells[0].style.backgroundColor='red'; }else{ targetTr.cells[i-1].style.backgroundColor='white'; targetTr.cells[i].style.backgroundColor='red'; } wait( 300 ); //このalertを消すとうまくいかない alert('test'); } } function wait( timeWait ) { var timeStart = new Date().getTime(); var timeNow = new Date().getTime(); while( timeNow < (timeStart + timeWait ) ) { timeNow = new Date().getTime(); } } </script> </head> <body> <table border="1" id="colorchange"> <tr> <td>1111</td> <td>2222</td> <td>3333</td> <td>4444</td> </tr> </table> <button onClick="changeColor()">スタート</button> </body> </html>

  • javascriptについて

    現在HPを作成していてjavaのプルダウンメニューを設置していますが 最初からメニューが開いた状態になります。ちなみにsdmenu.jsを使用しています。 最初開いた時にメニューが閉じるようにできますでしょうか? function SDMenu(id) { if (!document.getElementById || !document.getElementsByTagName) return false; this.menu = document.getElementById(id); this.submenus = this.menu.getElementsByTagName("div"); this.remember = true; this.speed = 4; this.markCurrent = true; this.oneSmOnly = false; } SDMenu.prototype.init = function() { var mainInstance = this; for (var i = 0; i < this.submenus.length; i++) this.submenus[i].getElementsByTagName("span")[0].onclick = function() { mainInstance.toggleMenu(this.parentNode); }; if (this.markCurrent) { var links = this.menu.getElementsByTagName("a"); for (var i = 0; i < links.length; i++) if (links[i].href == document.location.href) { links[i].className = "current"; break; } } if (this.remember) { var regex = new RegExp("sdmenu_" + encodeURIComponent(this.menu.id) + "=([01]+)"); var match = regex.exec(document.cookie); if (match) { var states = match[1].split(""); for (var i = 0; i < states.length; i++) this.submenus[i].className = (states[i] == 0 ? "collapsed" : ""); } } }; SDMenu.prototype.toggleMenu = function(submenu) { if (submenu.className == "collapsed") this.expandMenu(submenu); else this.collapseMenu(submenu); }; SDMenu.prototype.expandMenu = function(submenu) { var fullHeight = submenu.getElementsByTagName("span")[0].offsetHeight; var links = submenu.getElementsByTagName("a"); for (var i = 0; i < links.length; i++) fullHeight += links[i].offsetHeight; var moveBy = Math.round(this.speed * links.length); var mainInstance = this; var intId = setInterval(function() { var curHeight = submenu.offsetHeight; var newHeight = curHeight + moveBy; if (newHeight < fullHeight) submenu.style.height = newHeight + "px"; else { clearInterval(intId); submenu.style.height = ""; submenu.className = ""; mainInstance.memorize(); } }, 30); this.collapseOthers(submenu); }; SDMenu.prototype.collapseMenu = function(submenu) { var minHeight = submenu.getElementsByTagName("span")[0].offsetHeight; var moveBy = Math.round(this.speed * submenu.getElementsByTagName("a").length); var mainInstance = this; var intId = setInterval(function() { var curHeight = submenu.offsetHeight; var newHeight = curHeight - moveBy; if (newHeight > minHeight) submenu.style.height = newHeight + "px"; else { clearInterval(intId); submenu.style.height = ""; submenu.className = "collapsed"; mainInstance.memorize(); } }, 30); }; SDMenu.prototype.collapseOthers = function(submenu) { if (this.oneSmOnly) { for (var i = 0; i < this.submenus.length; i++) if (this.submenus[i] != submenu && this.submenus[i].className != "collapsed") this.collapseMenu(this.submenus[i]); } }; SDMenu.prototype.expandAll = function() { var oldOneSmOnly = this.oneSmOnly; this.oneSmOnly = false; for (var i = 0; i < this.submenus.length; i++) if (this.submenus[i].className == "collapsed") this.expandMenu(this.submenus[i]); this.oneSmOnly = oldOneSmOnly; }; SDMenu.prototype.collapseAll = function() { for (var i = 0; i < this.submenus.length; i++) if (this.submenus[i].className != "collapsed") this.collapseMenu(this.submenus[i]); }; SDMenu.prototype.memorize = function() { if (this.remember) { var states = new Array(); for (var i = 0; i < this.submenus.length; i++) states.push(this.submenus[i].className == "collapsed" ? 0 : 1); var d = new Date(); d.setTime(d.getTime() + (30 * 24 * 60 * 60 * 1000)); } };

  • 条件にあったテーブルのセルを数える

    テーブルを作り、それぞれのセルをonmouseoverすると背景が変わるようになっています。そして、背景が変わった後に、何個のセルの背景が変わったのかを知りたいのですが、どうもうまくいきません。alertで確認してもいつも「0」として出てきます。お手数ですが、ご指導お願いします。 <script type="text/javascript"> function bgSwap(TD) { if(window.event.shiftKey == true) { if(TD.style && TD.style.backgroundColor){ TD.style.backgroundColor = ''; } else{ TD.style.backgroundColor = '#000000'; } } } function sendToparent(){ var count=0; var i; var tdname = document.getElementById('F1table').getElementsByTagName('td'); for (i=0; i < tdname.length; i++) { if(tdname[i].style.backgroundColor == "#000000"){ count = count+1; }else { count = count; } } alert(count); } </script> <body> <input type='button' value='set' onclick='sendToparent()'> <table id='F1table' border="0" bordercolor = '#000000' > <tr> <td onmouseover="bgSwap(this)" width="35" height="35"></td> <td onmouseover="bgSwap(this)" width="30" height="30"></td> <td onmouseover="bgSwap(this)" width="30" height="30"></td> <td onmouseover="bgSwap(this)" width="30" height="30"></td> <td onmouseover="bgSwap(this)" width="30" height="30"></td> <td onmouseover="bgSwap(this)" width="30" height="30"></td> <td onmouseover="bgSwap(this)" width="30" height="30"></td> <td onmouseover="bgSwap(this)" width="30" height="30"></td> <td onmouseover="bgSwap(this)" width="30" height="30"></td> <td onmouseover="bgSwap(this)" width="30" height="30"></td> </tr> </table> </body>

  • 特定のクラスのバック地をマウスオーバーで色替えする方法

    クラス名がついたJavascriptでマウスオーバー時のバック地の色を変更する方法をさがしています。 現在、タグに対するマウスオーバー時のバック地の色替え方法は分かっいます。 ******************************************************************** window.onload = function(){ //登録フォームのテーブル(td)の色を変化させる var tdTag = document.getElementsByTagName('td'); for (var i=0; i<tdTag.length; i++){ tdTag[i].onmouseover = function(){ this.style.backgroundColor = '#f8f8f8'; } tdTag[i].onmouseout = function(){ this.style.backgroundColor = '' } } } ************************************************************** 上記は[ td ]タグに対する色替えで、テーブルのtdタグ全てに反映されてしまいますが これをクラス名もしくはid名がついたもののみに反映させたいのです。 初心者でやり方が分からなかったのでご質問させていただきました。 宜しくお願いいたします。

  • 特定のクラスのバック地をマウスオーバーで色替えする方法

    クラス名がついたJavascriptでマウスオーバー時のバック地の色を変更する方法をさがしています。 現在、タグに対するマウスオーバー時のバック地の色替え方法は分かっいます。 ******************************************************************** window.onload = function(){ //登録フォームのテーブル(td)の色を変化させる var tdTag = document.getElementsByTagName(\'td\'); for (var i=0; i<tdTag.length; i++){ tdTag[i].onmouseover = function(){ this.style.backgroundColor = \'#f8f8f8\'; } tdTag[i].onmouseout = function(){ this.style.backgroundColor = \'\' } } } ************************************************************** 上記は[ td ]タグに対する色替えで、テーブルのtdタグ全てに反映されてしまいますが これをクラス名もしくはid名がついたもののみに反映させたいのです。 初心者でやり方が分からなかったのでご質問させていただきました。 宜しくお願いいたします。

  • ボリンジャーバンドのチャート表示について

    はじめまして。初めて投稿します。 Excel VBAを使って日足を取得し、ボリンジャーバンドをマクロで 計算させてExcelシートにチャート表示させているのですが、 自分で計算したチャートは、折れ線グラフで表示されるせいか値が 微妙に違ってしまいます。 ボリンジャーバンドをうまくチャートに表示する方法がわかる方が いらっしゃれば教えていただきたいです。よろしくお願いします。 ボリンジャーバンドを計算するコードは以下のようにしました。 Sub Bollinger_Band() Dim sigma As Integer length(1) = 25 'MAの期間 sigma = 2 'σの設定 co1 = 13    'Bollinger_Band(-2σ)の列 co2 = 14    'Bollinger_Band(+2σ)の列 co3 = 8 'MAの列 If firstrow < length(1) + 2 Then ro1 = length(1) + 2 Else ro1 = firstrow For i = ro1 To lastrow Cells(i, co1) = Cells(i, co3) - sigma * WorksheetFunction.StDevP(Cells(i - length(1) + 1, 5), Cells(i, 5)) 'Cells(i,5)は終値 Cells(i, co2) = Cells(i, co3) + sigma * WorksheetFunction.StDevP(Cells(i - length(1) + 1, 5), Cells(i, 5)) Next i End Sub

  • checkboxにcheckが複数入っているか判断

    gridViewの一覧データのチェックボックスにチェックが複数入っていると、”複数選択されています”のエラーを出したいのですが、どのように記述すれば良いかわかりません。 以下は現状のコードです。 gridViewに表示された一覧データの中で、チェックボックスにチェックが入っているかを確認し、どこにもチェックが入っていない場合は"データを選択して下さい。"のエラーメッセージを出しています。 function CheckSelection() { var objGrd = document.getElementById('<%=grvSclData.ClientID %>'); var selFlg = false; if (objGrd != null) { for (var idx = 0; idx < objGrd.rows.length; idx++) { for (var subidx = 0; subidx < objGrd.rows[idx].cells[0].children.length; subidx++) { var chid = objGrd.rows[idx].cells[0].children[subidx]; if (chid.type == 'checkbox') { if (chid.checked) { selFlg = true; break; } } } if (selFlg) { break; } } } if (!selFlg) { alert("データを選択して下さい。"); return false; } return true; };

  • JavaScriptエラーが出ます…

    2つのJavaScriptエラーが出て大変困っております。 どなたか分かる方いらっしゃいませんでしょうか? ※当方はJavaScriptは分かりません。 検索にて調査いたしましたが、情けないですがもうお手上げ状態です。 ▼1つめ----------------------------------------------▼ メッセージ: 'null' は Null またはオブジェクトではありません。 ライン: 8 文字: 3 コード: 0 コード内容 以下 var accordion=function(){ var tm=10; var sp=10; function slider(n){ this.nm=n; this.arr=[]; this.sel='' } slider.prototype.init=function(t,c,k){ var a,h,s,l,i; a=document.getElementById(t); h=a.getElementsByTagName('dt'); s=a.getElementsByTagName('dd'); l=h.length; for(i=0;i<l;i++){ var d=h[i]; this.arr[i]=d; d.onclick=new Function(this.nm+".process(this)"); if(k!=null&&c==i){this.sel=d.className=k} } l=s.length; for(i=0;i<l;i++){ var d=s[i]; d.maxh=d.offsetHeight; if(c!=i){d.style.height='0'; d.style.display='none'} } } slider.prototype.process=function(d){ var i,l; l=this.arr.length; for(i=0;i<l;i++){ var h=this.arr[i]; var s=h.nextSibling; if(s.nodeType!=1){s=s.nextSibling} clearInterval(s.timer); if(h==d&&s.style.display=='none'){ s.style.display=''; setup(s,1); h.className=this.sel} else if(s.style.display==''){setup(s,-1); h.className=''} } } function setup(c,f){c.timer=setInterval(function(){slide(c,f)},tm)} function slide(c,f){ var h,m,d; h=c.offsetHeight; m=c.maxh; d=(f==1)?Math.ceil((m-h)/sp):Math.ceil(h/sp); c.style.height=h+(d*f)+'px'; c.style.opacity=h/m; c.style.filter='alpha(opacity='+h*100/m+')'; if(f==1&&h>=m){clearInterval(c.timer)} else if(f!=1&&h==1){c.style.display='none'; clearInterval(c.timer)} } return{slider:slider} }(); ▲1つめここまで----------------------------------------------▲ ▼2つめ----------------------------------------------▼ メッセージ: 'obj.length' は Null またはオブジェクトではありません。 ライン: 238 文字: 10 コード: 0 コード内容 以下 http://www.myulond.com/js.txt ▲1つめここまで----------------------------------------------▲ どうぞ、ご教授よろしくお願いいたします。

  • tableのtrの要素数を番号順に取得したい

    現在、tableでのデザインを考えています。 やりたい事はテーブルにマウスカーソルを合わせた際にカーソルを合わせた行の色を変えるというものです。またjavascriptは外部ファイル化したいと考えていますが、javascriptの知識がなく困っておりまして 申し訳御座いませんが皆様どうぞよろしくお願い致します。 http://www.tagindex.com/kakolog/q2bbs/1/114.html こちらのページの2005/07/27 16:50に投稿された方のソースを参考に html内ではこのような感じで <body onload="CellColorAlternate();"> テーブルでは <table onmouseover="CellColorAll()" onmouseout="CellColorAlternate()"> 外部ファイルでは function CellColorAlternate(){ var cell = document.getElementsByTagName("tr"); for (i = 0; i < cell.length; i++) { if(!(i%2)){ cell[i].style.backgroundColor = "#CCFFCC"; } else { cell[i].style.backgroundColor = "#FFCCCC"; } } } function CellColorAll(obj){ var cell = document.getElementsByTagName("tr"); for (i = 0; i < cell.length; i++) { if(!(i%2)){ cell[i].style.backgroundColor = "#FFCCCC"; } else { cell[i].style.backgroundColor = "#CCFFCC"; } } } このようにするとカーソルを合わせた時にすべての行が入れ子にはなるのですが、上記の外部ファイルに付け加えるような形でこれをマウスを合わせた部分だけ変更するにはどのようにしたらよろしいのでしょうか?

  • JavaScriptのフォントの大きさ

    JavaScriptでの文字の大きさの変更について教えてください 以下のコードなのですが gamesの文字を大きくしたいです でも下記のコードのやり方だとだめでした font-sizeでは無理なのでしょうか? <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script> <title>間違い探しゲーム!</title> <style> span { cursor:pointer; } mozi { font-size:40px; } </style> </head> <body> <h1>間違い探しゲーム!</h1> <p><input type="button" value="開始" onclick="gameStart();"></p> <p id="score"></p> <div id="cells"></div> <script> var level = 0; var games = [ ['問','間'], ['大','太'], ['白','臼'] ]; games.className = "mozi"; var MAX_LEVEL = games.length - 1; var DIM_FIRST = 5; var DIM_DELTA = 3; var dim = DIM_FIRST; var t1; var t2; function gameStart() { var dummy = games[level][0]; var seikai = games[level][1]; if (level == 0) { $('#score').empty(); t1 = new Date().getTime(); } //dim*dimのspan要素を使って#cellsに突っ込む //ゲーム画面5*5にする var cells = ''; for (var i = 1; i <= dim * dim; i++) { cells += '<span id="s' + i + '"></span>'; if (i % dim == 0){ cells += '<br />'; } } $('#cells').html(cells); //dummyで埋められた配列を作る var chars = []; for (var i = 0; i < dim * dim; i++){ chars.push(dummy); } //配列のうち一つを正解にする var offset = Math.floor(Math.random() * chars.length); chars.splice(offset, 1, seikai); //span要素にそれらの配列の値をはめ込む for (var i = 1; i <= chars.length; i++) { $('#s'+i).text(chars[i - 1]); $('#s'+i).click(function(){ if ($(this).text() == seikai) { level++; dim += DIM_DELTA; if (level > MAX_LEVEL) { t2 = new Date().getTime(); $('#score').text('Your SCORE is '+(t2-t1)/1000+'!!'); level = 0; dim = DIM_FIRST return false; } gameStart(); } }); } } </script> </body> </html>

このQ&Aのポイント
  • NewSoft CD Labelerの使用中にオブジェクトの縦横比固定で拡大・縮小する方法が分からない場合の解決策について説明します。
  • Windows11で使用しているNewSoft CD Labelerの中でオブジェクトを縦横比固定で拡大・縮小する方法がわからない場合、本記事では解決策を提供します。
  • NewSoft CD Labelerでオブジェクトの縦横比固定で拡大・縮小する際に問題が発生している方への解決策をご紹介します。
回答を見る