1

リンクをクリックして、そのテキストを元のスタイル(ダイアログのスタイルではない)でjqueryダイアログに入れようとしていますか?

私はjqueryを使用してマウスで要素を選択しています(Firebugなど)。次に、要素をクリックしたら、それをdivjqueryダイアログボックス内に追加します。スタイリング以外はすべて正常に機能します。クリックした要素のスタイルを、ダイアログボックス内でサードパーティのページと同じにする必要があります。

ここでは例としてwww.wsj.comを使用しましたが、どのサイトでもかまいません。開いたら、右側の[購読]または[ログイン]リンクをクリックします(カーソルを合わせるまではオレンジ色で、ホバーすると白くなります)。

つまり、[購読]をクリックした場合、必要なのは、www.wsj.comと同じフォントサイズとファミリのダイアログボックスにオレンジ色のリンクを表示することだけです。

ノート:

  • 元の非ホバーカラー(オレンジ)を取得できない場合は、ホバーカラー(白)を選択します。ダイアログボックスのスタイルで色を指定したくないだけです(この例では、色が青で示されています)。
  • 'hello world' divは、現在のようにダイアログボックスCSSでスタイル設定する必要があります

私は周りの何かdialogClassがそれをするかもしれないと思うが、私はそれを機能させることができない。

ここで私を助けてくれる人に感謝します!

<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.8.23/jquery-ui.min.js"></script>
<style>
    .ui-widget-header { border: 1px solid green; background: #1f84f5 url(images/ui-bg_highlight-hard_75_1f84f5_1x100.png) 50% 50% repeat-x; color: #ffffff; font-weight: bold; font-size: 20pt; }
    .ui-widget-content { border: 1px solid #aaaaaa; background: #ffffff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x; color: #222222;  font-size: 20pt;}
</style>
<script>
    var $j = jQuery.noConflict();
    var horiz = ($j(window).width() / 2) - (750 / 2);
    $j(document).ready(function() {
        // MOUSE ENTER  
        $j("div,a").mouseenter(function (e) {
            $j(this).css("outline","3px solid green");
            var target = event.target || event.srcElement;
            stuff = target.outerHTML;
        });
        // MOUSE OUT    
        $j("div,a").mouseout(function (e) {
            $j(this).css("outline","0px solid");
        });
        // CLICK    
        $j("div,a").click(function (e) {
            e.stopPropagation();
            e.preventDefault();
            var thisCOL = $j(this).css("color"); 
            alert('to check : thisCOL='+thisCOL);
            document.getElementById('contents').innerHTML = stuff;
            $j( "#thedialog" ).dialog({
                title: "Dialog",
                height:'auto', 
                minHeight:300, 
                width:780,
                position: [horiz,50],
                modal: true,
                buttons: {
                    "Cancel": function() {$j(this).dialog( "close" ); },
                    "Save": function() {$j('#myform').submit(); }
                }
            });
        });
    });
</script>
    </head>
    <body>
<?php 
    $url = 'http://www.wsj.com';
    $data = file_get_contents($url);
    $data = '<head><base href='.$url.'/></head>'.$data;
    echo $data;
?>
<div id="thedialog" title="Simple dialog box" style="display:none">
    <div id="something">Hello world</div>  <!-- I need this to stay black, not inherit the wsj.com color -->
    <div id="contents">I want this text to be styled</div>  <!-- to be the right color from wsj.com -->
</div>
<!-- FORM submission code from dialog SAVE button left out for clarity  -->
    </body>
4

1 に答える 1

2

ダイアログ内のリンクの色などを維持する最も簡単な方法は、現在のa {}cssに別のcssを追加することです。

#1:a, body .ui-widget-content a { /* whatever you want for both of them */ }本体が切り札css仕様に追加されました-jQueryUIによって追加されたcss。

例1

#2: #keepOriginal a { color:#5279a4; } #keepOriginalは、その周りのDiv(またはすべてのページの周りのdivラッパー)です。

例2

于 2012-08-30T17:48:45.977 に答える