Используя jquery, чтобы скрыть и показать элементы

У меня есть веб-страница с формой для размещения комментариев (текстовое поле и текстовая область + кнопка отправки). Я хотел, чтобы форма была сначала невидимой и показывала только ссылку «showform», чтобы сделать форму видимой, а также показать ссылку «hideform». При щелчке по ссылке «hideform» необходимо сделать невидимой ссылку формы и hideform , а ссылку showform снова сделать видимой. Я попробовал это

<html>
<head>
<title>formopen demo</title>
<link href="formopen.css" type="text/css" rel="stylesheet">
</head>
<script src="jquery-1.4.2.js"></script>
<script src="formopen.js"></script>


<body>
<div class="myjsdemo">
   <a href="#" class="showaddcommentformlink">show add commentform</a>
   <a href="#" class="hideaddcommentformlink">hide add commentform</a>
   <div class="form">
      <input type="text" value="" name="myinput" id="myinput"/>
      <textarea name="content" rows="2" cols="20" id="content" > </textarea>
   </div>
</div>

</body>
</html>

formopen.css

.myjsdemo .form{display:none;}
.myjsdemo .hideaddcommentformlink{display:none;}

formopen.js

$(function(){
    $('.myjsdemo.showaddcommentformlink').click(
      function(){
            $(this).hide();
            $('.myjsdemo.hideaddcommentformlink').show();
            $('.myjsdemo.form').show();
            return false;
        }
    );

    $('.myjsdemo.hideaddcommentformlink').click(
      function(){
            $(this).hide();
            $('.myjsdemo.showaddcommentformlink').show();
            $('.myjsdemo.form').hide();
            return false;
        }
    );

});

Однако ничего не происходит, когда я нажимаю на ссылку... У меня есть очень минимальные знания javascript.. Если кто-то может исправить любые ошибки в этом коде, это было бы большой помощью..

Я помещаю все файлы в один каталог и открываю HTML-файл в firefox.

Благодаря

-121--854432- глобальным переменным, общим библиотекам и эффекту -fPIC Я создал фрагмент кода, который состоит из динамической библиотеки (lib.c) и основного исполняемого файла (main.c). В обоих файлах я определяю глобальную переменную с именем int global. Не очень умно, но это не вопрос....

Я создал фрагмент кода, который состоит из динамической библиотеки ( lib.c ) и основного исполняемого файла ( main.c ). В обоих файлах определяется глобальная переменная с именем int global . Не очень умно, но это не вопрос.

При компиляции динамической библиотеки опция -fPIC кажется обязательной:

gcc lib.c -fPIC -shared -o lib.so

В противном случае я получаю:

/usr/bin/ld: /tmp/ccpUvIPj.o: relocation R_X86_64_32 against '.rodata' can not be used when making a shared object; recompile with -fPIC

Когда я компилирую исполняемый файл это не так.

gcc main.c -fPIC -ldl
gcc main.c -ldl

Оба работают, но имеют разное поведение я не могу объяснить, не могли бы вы?:

с -fPIC, глобальными в main.c и глобальными в lib.c являются одни и те же переменные:

global main: 23 (0x601050)
global lib: 23 (0x601050)

без -fPIC глобальный в lib.c не соотносится с глобальным в main.c:

global main: 23 (0x601048)
global lib: 0 (0x7f7742e64028)

Вот источник:

lib.c

#include <stdio.h>
#include <stdlib.h>

int global;

int f_one() {

    printf("global lib: %d (%p)\n", global, &global);

    return EXIT_SUCCESS;
}

main.c

#include <stdio.h>
#include <stdlib.h>
#include <dlfcn.h>

void * handle;
int global;

int main() {

    int q = 7;

    int (* f_one_p)(int a) = NULL;

    global = 23;

    handle = dlopen("./lib.so", RTLD_NOW);

    if (handle == 0) {
        return EXIT_FAILURE;
    }

    f_one_p = dlsym(handle, "f_one");

    printf("global main: %d (%p)\n", global, &global);

    f_one_p(q);

    return EXIT_SUCCESS;

}

gcc --версия: gcc (Ubuntu/Linaro 4,5 .2-8ubuntu4) 4,5,2

uname -a: Linux xxx 2.6.38-11-generic # 48-Ubuntu SMP пт 29 июля 19:02:55 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux

изменить : код, протестированный в архитектурах SUN/sparc и x86/Linux с тем же типом неожиданных общих глобальных переменных (с -fPIC).

13
задан yota 4 September 2011 в 09:30
поделиться