-1

これはばかげた質問であることを知っているので、事前にお詫び申し上げます。

基本的に、非常に高いレベルで、私がやろうとしているのは x 個のタブを表示することです。x は、最終的に SharePoint から返される結果で返される数値になる変数になります。

だから、基本的に私が欲しいのは、変数に基づいて(「タブ」を作成するために)HTMLコードの特定のブロックをループするJavaScriptです。

<li>タグを x 回ループさせたいと思います。

これがコードです.....

HTML ページ:

<%@ Assembly Name="$SharePoint.Project.AssemblyFullName$" %>
<%@ Assembly Name="Microsoft.Web.CommandUI, Version=14.0.0.0, Culture=neutral,     PublicKeyToken=71e9bce111e9429c" %> 
<%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls"  Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral,   PublicKeyToken=71e9bce111e9429c" %> 
<%@ Register Tagprefix="Utilities" Namespace="Microsoft.SharePoint.Utilities" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="asp" Namespace="System.Web.UI" Assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %>
<%@ Import Namespace="Microsoft.SharePoint" %> 
<%@ Register Tagprefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="VisualWebPart1UserControl.ascx.cs"     Inherits="SPListWebPart.VisualWebPart1.VisualWebPart1UserControl" %>
<!DOCTYPE html>
<html>
<head>
<link rel="Stylesheet" type="text/css" href="C:\Users\Administrator\Documents\Visual    Studio 2010\Projects\SPListWebPart\SPListWebPart\VisualWebPart1\Stylesheet1.css" />
<ul id="sddm">


<script type ="text/javascript" src = "C:\Users\Administrator\Documents\Visual Studio  2010\Projects\SPListWebPart\SPListWebPart\VisualWebPart1\JScript1.js"></script>
<script type ="text/C#" src="C:\Users\Administrator\Documents\Visual Studio      2010\Projects\SPListWebPart\SPListWebPart\VisualWebPart1\VisualWebPart1UserControl.ascx.cs"     ></script>




<!--START JAVASCRIPT OR C# LOOP-->

<li><a href="http://maindt" 
    onmouseover="mopen('m1');"
    onmouseout="mclosetime('m1')">Variable</a>
    <div id="m1" 
        onmouseover="mcancelclosetime()"
        onmouseout="mclosetime()">
    </div>
</li>


<!--END JAVASCRIPT OR C# LOOP-->


<div style="clear:both"></div>
</head>
<body></body>
</html>

JavaScript:

var timeout = 500;
var closetimer = 0;
var ddmenuitem = 0;




// open hidden layer
function mopen(id) {
// cancel close timer
mcancelclosetime();

// close old layer
if (ddmenuitem) ddmenuitem.style.visibility = 'hidden';

// get new layer and show it
ddmenuitem = document.getElementById(id);
ddmenuitem.style.visibility = 'visible';

}
// close showed layer
function mclose() {
  if (ddmenuitem) ddmenuitem.style.visibility = 'hidden';
}

// go close timer
function mclosetime() {
closetimer = window.setTimeout(mclose, timeout);
}

// cancel close timer
function mcancelclosetime() {
if (closetimer) {
    window.clearTimeout(closetimer);
    closetimer = null;
}
}

// close layer when click-out
document.onclick = mclose;

CSS:

#sddm
{   margin: 0;
padding: 0;
z-index: 30}

#sddm li
{   margin: 0;
padding: 0;
list-style: none;
float: left;
font: bold 11px arial}

#sddm li a
{   display: block;
margin: 0 1px 0 0;
padding: 4px 10px;
width: auto;
background: #5970B2;
color: #FFF;
text-align: center;
text-decoration: none}

#sddm li a:hover
{   background: #49A3FF}

#sddm div
{   position: absolute;
visibility: hidden;
margin: 0;
padding: 0;
background: #EAEBD8;
border: 1px solid #5970B2}

#sddm div a
{   position: relative;
    display: block;
    margin: 0;
    padding: 5px 10px;
    width: auto;
    white-space: nowrap;
    text-align: left;
    text-decoration: none;
    background: #EAEBD8;
    color: #2875DE;
    font: 11px arial}

#sddm div a:hover
{   background: #49A3FF;
    color: #FFF}
4

3 に答える 3

1

Javascriptを使用してドキュメントに HTML で何かを書き込むには、次のようにします。

document.write("<li>" + Variable + "</li>");

innerHTMLまたは要素を取得してそのプロパティを変更します

document.getElementById("list").innerHTML = "<li>" + Variable + "</li>";

C#を使用してドキュメントに HTML で何かを記述するには:

<%="<li>" + Variable + "</li>" %>

Javascriptでループするには: do

for (var i = 0; i < Variable; i++)

C#でループするには: do

<% for (int i = 0; i < Variable; i++) %>

基本的に、これは結合されたコードです:

Javascript:

<!--END JAVASCRIPT OR C# LOOP-->

<script type="text/javascript">
    for (var i = 0; i < Variable; i++)
        document.write("<li>" + Variable + "</li>");
</script>

<!--END JAVASCRIPT OR C# LOOP-->

C#:

<!--START JAVASCRIPT OR C# LOOP-->

<% for (int i = 0; i < Variable; i++) %>
    <%= "<li>" + Variable + "</li>" %>

<!--END JAVASCRIPT OR C# LOOP-->

役立つリンク:

document.write
innerHTML

于 2013-07-10T01:48:02.793 に答える